Comparar commits
29 Commits
v3.0.0-beta1
...
v3.0.0
| Autor | SHA1 | Data | |
|---|---|---|---|
| 515bde12be | |||
| c2295e6b02 | |||
| 06e1968140 | |||
| a7f5c90d76 | |||
| d556d74011 | |||
| 91f8c5a2f1 | |||
| 53067ae9b6 | |||
| 0a75b8e121 | |||
| c3a84c88e0 | |||
| ec5b9a80f2 | |||
| ca18690728 | |||
| be4677b784 | |||
| 629395fb1b | |||
| 60b3318a72 | |||
| 563c8be51d | |||
| cb5f4e2503 | |||
| 5fca7c4240 | |||
| bd038b4915 | |||
| 2e80a31416 | |||
| 5e4645cb75 | |||
| 99069b58d5 | |||
| d7479c703b | |||
| adb96cd0f0 | |||
| 1e22b95407 | |||
| b0a3768425 | |||
| 519387cd41 | |||
| 49a50de3ca | |||
| efbd0016d6 | |||
| 9ab2ffa261 |
@@ -1,3 +1,49 @@
|
||||
v3.0.0 / 2016-03-11
|
||||
===
|
||||
### New features
|
||||
- responsive material-like design
|
||||
- refactoring settings dialog
|
||||
- over 1600 emoticons from emojione
|
||||
- support mobile devices
|
||||
- new video call interface
|
||||
- status usable for daltonian
|
||||
- use css for animations
|
||||
- file transfer via webrtc
|
||||
- previews
|
||||
- show progress
|
||||
- use local date and time format
|
||||
- add no-video-call-possible icon
|
||||
- add disabled otr icon
|
||||
- add padlock icon to message
|
||||
- display line breaks in chat messages
|
||||
- hide avatar for connected messages (muc)
|
||||
- auto approve incoming contact request (if contact is already in our roster)
|
||||
|
||||
### Bug fixes
|
||||
- use crendential when performing turn credential ajax crossdomain call
|
||||
- update favico.js
|
||||
- update strophe.js
|
||||
- update strophe.jinglejs
|
||||
- improve otr verification
|
||||
- update locales
|
||||
- reset unread counter on logout
|
||||
- fix blank video
|
||||
- fix hang up video call
|
||||
- fix debug information
|
||||
- fix muc message without id
|
||||
- fix type error in jingle error
|
||||
|
||||
### Developer changes
|
||||
- remove "develop" branch and use instead "master" branch
|
||||
- Makefile for setup developer environment
|
||||
- remove loginTimeout option
|
||||
- add new jsxc.start function to start chat with password or sid/rid
|
||||
- add new option loginForm.ifFound (deprecates loginForm.attachIfFound)
|
||||
- add named dialogs
|
||||
- new message object
|
||||
- remove outdated stuff
|
||||
- merge jsxc.webrtc.css into jsxc.css
|
||||
|
||||
v2.1.5 / 2015-11-17
|
||||
===
|
||||
- Reset TURN credentials on login
|
||||
|
||||
+1
-1
@@ -372,7 +372,7 @@ module.exports = function(grunt) {
|
||||
grunt.registerTask('build:prerelease', 'Build a new pre-release', function() {
|
||||
grunt.config.set('target', 'build');
|
||||
|
||||
grunt.task.run(['search:console', 'build', 'dataUri', 'usebanner', 'replace:version', 'replace:libraries', 'replace:todo', 'uglify', 'compress']);
|
||||
grunt.task.run(['search:console', 'build', 'usebanner', 'replace:version', 'replace:libraries', 'replace:todo', 'uglify', 'compress']);
|
||||
});
|
||||
|
||||
grunt.registerTask('build:release', 'Build a new release', function() {
|
||||
|
||||
@@ -1,189 +0,0 @@
|
||||
/* Remove close button from firstrunwizard */
|
||||
#closeWizard {
|
||||
display: none !important;
|
||||
}
|
||||
|
||||
/*
|
||||
Colorbox Core Style:
|
||||
The following CSS is consistent between example themes and should not be altered.
|
||||
*/
|
||||
#colorbox,#cboxOverlay,#cboxWrapper {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
z-index: 9999;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
#cboxWrapper {
|
||||
max-width: none;
|
||||
}
|
||||
|
||||
#cboxOverlay {
|
||||
position: fixed;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
#cboxMiddleLeft,#cboxBottomLeft {
|
||||
clear: left;
|
||||
}
|
||||
|
||||
#cboxContent {
|
||||
position: relative;
|
||||
}
|
||||
|
||||
#cboxLoadedContent {
|
||||
overflow: auto;
|
||||
-webkit-overflow-scrolling: touch;
|
||||
}
|
||||
|
||||
#cboxTitle {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
#cboxLoadingOverlay,#cboxLoadingGraphic {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
#cboxPrevious,#cboxNext,#cboxClose,#cboxSlideshow {
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.cboxPhoto {
|
||||
float: left;
|
||||
margin: auto;
|
||||
border: 0;
|
||||
display: block;
|
||||
max-width: none;
|
||||
-ms-interpolation-mode: bicubic;
|
||||
}
|
||||
|
||||
.cboxIframe {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
display: block;
|
||||
border: 0;
|
||||
}
|
||||
|
||||
#colorbox,#cboxContent,#cboxLoadedContent {
|
||||
box-sizing: content-box;
|
||||
-moz-box-sizing: content-box;
|
||||
-webkit-box-sizing: content-box;
|
||||
}
|
||||
|
||||
/*
|
||||
User Style:
|
||||
Change the following styles to modify the appearance of Colorbox. They are
|
||||
ordered & tabbed in a way that represents the nesting of the generated HTML.
|
||||
*/
|
||||
#cboxOverlay {
|
||||
background: #000;
|
||||
}
|
||||
|
||||
#colorbox {
|
||||
|
||||
}
|
||||
|
||||
#cboxContent {
|
||||
margin-top: 20px;
|
||||
}
|
||||
|
||||
.cboxIframe {
|
||||
background: #fff;
|
||||
}
|
||||
|
||||
#cboxError {
|
||||
padding: 50px;
|
||||
border: 0px solid #ccc;
|
||||
}
|
||||
|
||||
#cboxLoadedContent {
|
||||
border: 0px solid #555;
|
||||
background: #fff;
|
||||
border-radius: 5px;
|
||||
}
|
||||
|
||||
#cboxTitle {
|
||||
position: absolute;
|
||||
top: -20px;
|
||||
left: 0;
|
||||
color: #ccc;
|
||||
}
|
||||
|
||||
#cboxCurrent {
|
||||
position: absolute;
|
||||
top: -20px;
|
||||
right: 0px;
|
||||
color: #ccc;
|
||||
}
|
||||
|
||||
#cboxSlideshow {
|
||||
position: absolute;
|
||||
top: -20px;
|
||||
right: 90px;
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
#cboxPrevious:hover {
|
||||
background-position: bottom left;
|
||||
}
|
||||
|
||||
#cboxNext:hover {
|
||||
background-position: bottom right;
|
||||
}
|
||||
|
||||
#cboxLoadingOverlay {
|
||||
background: #fff;
|
||||
}
|
||||
|
||||
#cboxClose {
|
||||
position: absolute;
|
||||
top: 5px;
|
||||
right: 5px;
|
||||
display: block;
|
||||
opacity: 0.5;
|
||||
width: 19px !important;
|
||||
height: 19px;
|
||||
border: 0px;
|
||||
text-indent: -9999px;
|
||||
background-color: #fff;
|
||||
}
|
||||
#cboxClose:before {
|
||||
content: '×';
|
||||
position: absolute;
|
||||
top: 0px;
|
||||
left: 0px;
|
||||
display: block;
|
||||
width: 19px;
|
||||
height: 19px;
|
||||
opacity: 0.5;
|
||||
text-indent: 0;
|
||||
text-align: center;
|
||||
line-height: 19px;
|
||||
font-size: 19px;
|
||||
}
|
||||
|
||||
#cboxClose:before:hover {
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
#cboxClose:hover {
|
||||
background-position: right center !important;
|
||||
opacity: 1.0;
|
||||
}
|
||||
|
||||
/*
|
||||
The following fixes a problem where IE7 and IE8 replace a PNG's alpha transparency with a black fill
|
||||
when an alpha filter (opacity change) is set on the element or ancestor element. This style is not applied to or needed in IE9.
|
||||
See: http://jacklmoore.com/notes/ie-transparency-problems/
|
||||
*/
|
||||
.cboxIE #cboxTopLeft,.cboxIE #cboxTopCenter,.cboxIE #cboxTopRight,.cboxIE #cboxBottomLeft,.cboxIE #cboxBottomCenter,.cboxIE #cboxBottomRight,.cboxIE #cboxMiddleLeft,.cboxIE #cboxMiddleRight
|
||||
{
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#00FFFFFF,
|
||||
endColorstr=#00FFFFFF);
|
||||
}
|
||||
+396
-48
@@ -2785,7 +2785,7 @@ fieldset[disabled] #jsxc_webrtc .checkbox label {
|
||||
background-color: green; }
|
||||
|
||||
.jsxc_away:before {
|
||||
background-image: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIgogICB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgeG1sbnM6c29kaXBvZGk9Imh0dHA6Ly9zb2RpcG9kaS5zb3VyY2Vmb3JnZS5uZXQvRFREL3NvZGlwb2RpLTAuZHRkIgogICB4bWxuczppbmtzY2FwZT0iaHR0cDovL3d3dy5pbmtzY2FwZS5vcmcvbmFtZXNwYWNlcy9pbmtzY2FwZSIKICAgaWQ9InN2ZzgiCiAgIHZlcnNpb249IjEuMSIKICAgdmlld0JveD0iMCAwIDMuMTc0OTk5OSAzLjE3NTAwMDEiCiAgIGhlaWdodD0iMTIiCiAgIHdpZHRoPSIxMiIKICAgaW5rc2NhcGU6dmVyc2lvbj0iMC45MStkZXZlbCByIgogICBzb2RpcG9kaTpkb2NuYW1lPSJwcmVzZW5jZV9hd2F5LnN2ZyI+CiAgPHNvZGlwb2RpOm5hbWVkdmlldwogICAgIHBhZ2Vjb2xvcj0iI2ZmZmZmZiIKICAgICBib3JkZXJjb2xvcj0iIzY2NjY2NiIKICAgICBib3JkZXJvcGFjaXR5PSIxIgogICAgIG9iamVjdHRvbGVyYW5jZT0iMTAiCiAgICAgZ3JpZHRvbGVyYW5jZT0iMTAiCiAgICAgZ3VpZGV0b2xlcmFuY2U9IjEwIgogICAgIGlua3NjYXBlOnBhZ2VvcGFjaXR5PSIwIgogICAgIGlua3NjYXBlOnBhZ2VzaGFkb3c9IjIiCiAgICAgaW5rc2NhcGU6d2luZG93LXdpZHRoPSIxODY5IgogICAgIGlua3NjYXBlOndpbmRvdy1oZWlnaHQ9IjEwNTYiCiAgICAgaWQ9Im5hbWVkdmlldzQ3NTQiCiAgICAgc2hvd2dyaWQ9ImZhbHNlIgogICAgIGlua3NjYXBlOnpvb209Ijc4LjY2NjY2NyIKICAgICBpbmtzY2FwZTpjeD0iNS45MTI0Mjc1IgogICAgIGlua3NjYXBlOmN5PSI1LjY3NTQ4MzMiCiAgICAgaW5rc2NhcGU6d2luZG93LXg9IjUxIgogICAgIGlua3NjYXBlOndpbmRvdy15PSIyNCIKICAgICBpbmtzY2FwZTp3aW5kb3ctbWF4aW1pemVkPSIxIgogICAgIGlua3NjYXBlOmN1cnJlbnQtbGF5ZXI9InN2ZzgiIC8+CiAgPGRlZnMKICAgICBpZD0iZGVmczIiIC8+CiAgPG1ldGFkYXRhCiAgICAgaWQ9Im1ldGFkYXRhNSI+CiAgICA8cmRmOlJERj4KICAgICAgPGNjOldvcmsKICAgICAgICAgcmRmOmFib3V0PSIiPgogICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2Uvc3ZnK3htbDwvZGM6Zm9ybWF0PgogICAgICAgIDxkYzp0eXBlCiAgICAgICAgICAgcmRmOnJlc291cmNlPSJodHRwOi8vcHVybC5vcmcvZGMvZGNtaXR5cGUvU3RpbGxJbWFnZSIgLz4KICAgICAgICA8ZGM6dGl0bGUgLz4KICAgICAgPC9jYzpXb3JrPgogICAgPC9yZGY6UkRGPgogIDwvbWV0YWRhdGE+CiAgPGNpcmNsZQogICAgIHN0eWxlPSJmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmU7c3Ryb2tlLXdpZHRoOjAuNDI5NDY4NTc7c3Ryb2tlLW1pdGVybGltaXQ6NDtzdHJva2UtZGFzaGFycmF5Om5vbmU7c3Ryb2tlLW9wYWNpdHk6MSIKICAgICBpZD0icGF0aDUyOTkiCiAgICAgY3g9IjEuNTg3NSIKICAgICBjeT0iMS41ODc1IgogICAgIHI9IjAuNjU5MjE2MTEiIC8+Cjwvc3ZnPgo=');
|
||||
background-image: url('../img/presence_away.svg');
|
||||
background-color: #ffa500; }
|
||||
|
||||
.jsxc_xa:before {
|
||||
@@ -2793,7 +2793,7 @@ fieldset[disabled] #jsxc_webrtc .checkbox label {
|
||||
background-color: #ffa500; }
|
||||
|
||||
.jsxc_dnd:before {
|
||||
background-image: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIgogICB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgeG1sbnM6c29kaXBvZGk9Imh0dHA6Ly9zb2RpcG9kaS5zb3VyY2Vmb3JnZS5uZXQvRFREL3NvZGlwb2RpLTAuZHRkIgogICB4bWxuczppbmtzY2FwZT0iaHR0cDovL3d3dy5pbmtzY2FwZS5vcmcvbmFtZXNwYWNlcy9pbmtzY2FwZSIKICAgaWQ9InN2ZzgiCiAgIHZlcnNpb249IjEuMSIKICAgdmlld0JveD0iMCAwIDMuMTc0OTk5OSAzLjE3NTAwMDEiCiAgIGhlaWdodD0iMTIiCiAgIHdpZHRoPSIxMiIKICAgaW5rc2NhcGU6dmVyc2lvbj0iMC45MStkZXZlbCByIgogICBzb2RpcG9kaTpkb2NuYW1lPSJwcmVzZW5jZV9kbmQuc3ZnIj4KICA8c29kaXBvZGk6bmFtZWR2aWV3CiAgICAgcGFnZWNvbG9yPSIjZmZmZmZmIgogICAgIGJvcmRlcmNvbG9yPSIjNjY2NjY2IgogICAgIGJvcmRlcm9wYWNpdHk9IjEiCiAgICAgb2JqZWN0dG9sZXJhbmNlPSIxMCIKICAgICBncmlkdG9sZXJhbmNlPSIxMCIKICAgICBndWlkZXRvbGVyYW5jZT0iMTAiCiAgICAgaW5rc2NhcGU6cGFnZW9wYWNpdHk9IjAiCiAgICAgaW5rc2NhcGU6cGFnZXNoYWRvdz0iMiIKICAgICBpbmtzY2FwZTp3aW5kb3ctd2lkdGg9IjE4NjkiCiAgICAgaW5rc2NhcGU6d2luZG93LWhlaWdodD0iMTA1NiIKICAgICBpZD0ibmFtZWR2aWV3NDE2OSIKICAgICBzaG93Z3JpZD0iZmFsc2UiCiAgICAgaW5rc2NhcGU6em9vbT0iNzYuNTgzMzMzIgogICAgIGlua3NjYXBlOmN4PSI2IgogICAgIGlua3NjYXBlOmN5PSI2IgogICAgIGlua3NjYXBlOndpbmRvdy14PSI1MSIKICAgICBpbmtzY2FwZTp3aW5kb3cteT0iMjQiCiAgICAgaW5rc2NhcGU6d2luZG93LW1heGltaXplZD0iMSIKICAgICBpbmtzY2FwZTpjdXJyZW50LWxheWVyPSJzdmc4IiAvPgogIDxkZWZzCiAgICAgaWQ9ImRlZnMyIiAvPgogIDxtZXRhZGF0YQogICAgIGlkPSJtZXRhZGF0YTUiPgogICAgPHJkZjpSREY+CiAgICAgIDxjYzpXb3JrCiAgICAgICAgIHJkZjphYm91dD0iIj4KICAgICAgICA8ZGM6Zm9ybWF0PmltYWdlL3N2Zyt4bWw8L2RjOmZvcm1hdD4KICAgICAgICA8ZGM6dHlwZQogICAgICAgICAgIHJkZjpyZXNvdXJjZT0iaHR0cDovL3B1cmwub3JnL2RjL2RjbWl0eXBlL1N0aWxsSW1hZ2UiIC8+CiAgICAgICAgPGRjOnRpdGxlIC8+CiAgICAgIDwvY2M6V29yaz4KICAgIDwvcmRmOlJERj4KICA8L21ldGFkYXRhPgogIDxwYXRoCiAgICAgc3R5bGU9ImZpbGw6I2ZmZmZmZjtmaWxsLXJ1bGU6ZXZlbm9kZDtzdHJva2U6I2ZmZmZmZjtzdHJva2Utd2lkdGg6MC40NTI3MDIwODtzdHJva2UtbGluZWNhcDpidXR0O3N0cm9rZS1saW5lam9pbjptaXRlcjtzdHJva2UtbWl0ZXJsaW1pdDo0O3N0cm9rZS1kYXNoYXJyYXk6bm9uZTtzdHJva2Utb3BhY2l0eToxIgogICAgIGQ9Ik0gMC44NDk4OTExOCwxLjU4NzUgSCAyLjMyNTEwODgiCiAgICAgaWQ9InBhdGg0MTcxIgogICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiIC8+Cjwvc3ZnPgo=');
|
||||
background-image: url('../img/presence_dnd.svg');
|
||||
background-color: #f00; }
|
||||
|
||||
.jsxc_hidden {
|
||||
@@ -3011,10 +3011,6 @@ fieldset[disabled] #jsxc_webrtc .checkbox label {
|
||||
background-size: contain;
|
||||
background-repeat: no-repeat;
|
||||
background-image: url('../img/bookmark_red.svg'); }
|
||||
.jsxc_rosteritem.jsxc_bookmarked .jsxc_bookmarkOptions {
|
||||
text-indent: 9999px;
|
||||
background-image: url('../img/gear_white.svg');
|
||||
background-size: 15px 15px; }
|
||||
|
||||
.jsxc_caption {
|
||||
padding-right: 30px;
|
||||
@@ -3026,13 +3022,13 @@ fieldset[disabled] #jsxc_webrtc .checkbox label {
|
||||
cursor: pointer; }
|
||||
.jsxc_caption .jsxc_name {
|
||||
height: 100%;
|
||||
line-height: 35px; }
|
||||
line-height: 40px; }
|
||||
.jsxc_min .jsxc_caption .jsxc_name {
|
||||
height: 50%;
|
||||
line-height: 17.5px; }
|
||||
line-height: 20px; }
|
||||
.jsxc_rosteritem .jsxc_caption .jsxc_name {
|
||||
height: 50%;
|
||||
line-height: 17.5px; }
|
||||
line-height: 20px; }
|
||||
.jsxc_caption .jsxc_lastmsg {
|
||||
font-size: 12px;
|
||||
display: none;
|
||||
@@ -3150,7 +3146,7 @@ fieldset[disabled] #jsxc_webrtc .checkbox label {
|
||||
display: block;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
background-image: url('data:image/svg+xml;base64,PHN2ZyB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgaGVpZ2h0PSIxNiIgd2lkdGg9IjE2IiB2ZXJzaW9uPSIxLjEiIHhtbG5zOmNjPSJodHRwOi8vY3JlYXRpdmVjb21tb25zLm9yZy9ucyMiIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyI+CiA8bWV0YWRhdGE+CiAgPHJkZjpSREY+CiAgIDxjYzpXb3JrIHJkZjphYm91dD0iIj4KICAgIDxkYzpmb3JtYXQ+aW1hZ2Uvc3ZnK3htbDwvZGM6Zm9ybWF0PgogICAgPGRjOnR5cGUgcmRmOnJlc291cmNlPSJodHRwOi8vcHVybC5vcmcvZGMvZGNtaXR5cGUvU3RpbGxJbWFnZSIvPgogICAgPGRjOnRpdGxlLz4KICAgPC9jYzpXb3JrPgogIDwvcmRmOlJERj4KIDwvbWV0YWRhdGE+CiA8cGF0aCBkPSJtMiwyLDAsMiwxMiwwLDAtMnptMCw1LDAsMiwxMiwwLDAtMnptMCw1LDAsMiwxMiwwLDAtMnoiLz4KPC9zdmc+Cg==');
|
||||
background-image: url('../img/menu_black.svg');
|
||||
background-repeat: no-repeat;
|
||||
background-position: center 10px;
|
||||
background-size: 17px; }
|
||||
@@ -3368,7 +3364,32 @@ fieldset[disabled] #jsxc_webrtc .checkbox label {
|
||||
margin: 30px 10px;
|
||||
padding: 5px;
|
||||
border-radius: 3px;
|
||||
text-align: center; }
|
||||
text-align: center;
|
||||
position: relative; }
|
||||
.jsxc_window .jsxc_fade .jsxc_overlay > div .jsxc_close {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
right: 0;
|
||||
height: 44px;
|
||||
width: 44px; }
|
||||
.jsxc_window .jsxc_fade .jsxc_overlay > div .jsxc_close:after {
|
||||
content: '×';
|
||||
position: absolute;
|
||||
top: 4px;
|
||||
right: 4px;
|
||||
font-size: 20px;
|
||||
font-family: Arial, sans-serif;
|
||||
cursor: pointer;
|
||||
color: #000;
|
||||
opacity: 0.4; }
|
||||
.jsxc_window .jsxc_fade .jsxc_overlay > div .jsxc_close:hover:after {
|
||||
opacity: 1; }
|
||||
@media (min-width: 768px) {
|
||||
.jsxc_window .jsxc_fade .jsxc_overlay > div .jsxc_close {
|
||||
width: 30px;
|
||||
height: 30px; } }
|
||||
.jsxc_window .jsxc_fade .jsxc_overlay > div .jsxc_body {
|
||||
margin-top: 20px; }
|
||||
.jsxc_window .jsxc_fade .jsxc_overlay > div p {
|
||||
margin-bottom: 10px; }
|
||||
.jsxc_window .jsxc_fade .jsxc_overlay > div li {
|
||||
@@ -3456,7 +3477,6 @@ fieldset[disabled] #jsxc_webrtc .checkbox label {
|
||||
.jsxc_chatmessage {
|
||||
margin: 3px;
|
||||
padding: 4px;
|
||||
padding-right: 10px;
|
||||
word-wrap: break-word;
|
||||
background-color: #fff;
|
||||
position: relative;
|
||||
@@ -3480,7 +3500,7 @@ fieldset[disabled] #jsxc_webrtc .checkbox label {
|
||||
background-position: 3px center;
|
||||
background-size: 25px 25px;
|
||||
background-repeat: no-repeat;
|
||||
background-image: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMTYiIHdpZHRoPSIxNiIgdmVyc2lvbj0iMS4wIiB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIiB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iPgogPHBhdGggc3R5bGU9ImNvbG9yOiMwMDAwMDA7YmxvY2stcHJvZ3Jlc3Npb246dGI7dGV4dC10cmFuc2Zvcm06bm9uZTt0ZXh0LWluZGVudDowIiBkPSJtMi4zNTAxIDEuMDAxNGMtMC4xOTc1MSAwLjAzODItMC4zNTM1MSAwLjIzMzMxLTAuMzUwMDEgMC40Mzc0MnYxMy4xMjNjMC4wMDAwMDUgMC4yMjkwNSAwLjIwNTIzIDAuNDM3NDUgMC40MzA3OSAwLjQzNzQ2bDExLjEzOSAwLjAwMWMwLjIyNTU2LTAuMDAwMDA2IDAuNDMwNzgtMC4yMDg0MSAwLjQzMDc5LTAuNDM3NDZ2LTEwLjE0M2MtMC4wMDQtMC4wNjY4NC0wLjAyMi0wLjEzMjg0LTAuMDU0LTAuMTkxMzVsLTMuMzEyMS0zLjE5ODljLTAuMDQzLTAuMDE2NC0wLjA4OC0wLjAyNTYtMC4xMzQtMC4wMjc0bC04LjA2OTktMC4wMDFjLTAuMDI2ODQtMC4wMDI2LTAuMDUzOTMtMC4wMDI2LTAuMDgwNzcgMHoiIGZpbGw9IiM5Njk2OTYiLz4KPC9zdmc+Cg=='); }
|
||||
background-image: url('../img/filetypes/file.svg'); }
|
||||
.jsxc_chatmessage .jsxc_attachment img {
|
||||
border-radius: 3px; }
|
||||
.jsxc_chatmessage .jsxc_attachment.jsxc_image {
|
||||
@@ -3488,15 +3508,15 @@ fieldset[disabled] #jsxc_webrtc .checkbox label {
|
||||
padding: 0;
|
||||
background-image: url(); }
|
||||
.jsxc_chatmessage .jsxc_attachment.jsxc_application {
|
||||
background-image: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMTYiIHdpZHRoPSIxNiIgdmVyc2lvbj0iMS4wIiB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIiB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iPgogPGcgdHJhbnNmb3JtPSJtYXRyaXgoLjc5OTk4IDAgMCAuOCAxLjYgMS45NTU0KSIgZmlsbD0iIzk2OTY5NiI+CiAgPHBhdGggZD0ibTYuOTM3NSAwLjA1NmMtMC4yNDg0IDAtMC40Mzc1IDAuMTg5MDgtMC40Mzc1IDAuNDM3NXYxLjI1Yy0wLjU1MzkgMC4xNDIyLTEuMDUxMiAwLjM3MTktMS41MzEyIDAuNjU2M2wtMC45MDYzLTAuOTA2M2MtMC4xNzU2Ni0wLjE3NTY2LTAuNDQ5MzQtMC4xNzU2Ni0wLjYyNSAwbC0xLjUgMS41Yy0wLjE3NTY2IDAuMTc1NjYtMC4xNzU2NiAwLjQ0OTM0IDAgMC42MjVsMC45MDYzIDAuOTA2M2MtMC4yODQ0IDAuNDgtMC41MTQxIDAuOTc3My0wLjY1NjMgMS41MzEyaC0xLjI1Yy0wLjI0ODQyIDAtMC40Mzc1IDAuMTg5MS0wLjQzNzUgMC40Mzc1djIuMTI1YzFlLTggMC4yNDg0MiAwLjE4OTA4IDAuNDM3NSAwLjQzNzUgMC40Mzc1aDEuMjVjMC4xNDIyIDAuNTUzOSAwLjM3MTg4IDEuMDUxMiAwLjY1NjI1IDEuNTMxMmwtMC45MDYzIDAuOTA3Yy0wLjE3NTY2IDAuMTc1NjYtMC4xNzU2NiAwLjQ0OTM0IDAgMC42MjVsMS41IDEuNWMwLjE3NTY2IDAuMTc1NjYgMC40NDkzNCAwLjE3NTY2IDAuNjI1IDBsMC45MDYzLTAuOTA3YzAuNDggMC4yODUgMC45NzczIDAuNTE0IDEuNTMxMiAwLjY1NnYxLjI1YzFlLTcgMC4yNDg0MiAwLjE4OTA4IDAuNDM3NSAwLjQzNzUgMC40Mzc1aDIuMTI1YzAuMjQ4NCAwIDAuNDM3NS0wLjE4OSAwLjQzNzUtMC40Mzh2LTEuMjVjMC41NTM5LTAuMTQyMiAxLjA1MTItMC4zNzE4OCAxLjUzMTItMC42NTYyNWwwLjkwNjI1IDAuOTA2MjVjMC4xNzU2NiAwLjE3NTY2IDAuNDQ5MzQgMC4xNzU2NiAwLjYyNSAwbDEuNS0xLjVjMC4xNzU2Ni0wLjE3NTY2IDAuMTc1NjYtMC40NDkzNCAwLTAuNjI1bC0wLjkwNi0wLjkwNmMwLjI4NS0wLjQ4IDAuNTE0LTAuOTc3MSAwLjY1Ni0xLjUzMWgxLjI1YzAuMjQ5IDAgMC40MzgtMC4xODkxIDAuNDM4LTAuNDM3NXYtMi4xMjVjMC0wLjI0ODQtMC4xODktMC40Mzc1LTAuNDM4LTAuNDM3NWgtMS4yNWMtMC4xNDItMC41NTM5LTAuMzcxLTEuMDUxMi0wLjY1Ni0xLjUzMTJsMC45MDYtMC45MDYzYzAuMTc1NjYtMC4xNzU2NiAwLjE3NTY2LTAuNDQ5MzQgMC0wLjYyNWwtMS41LTEuNWMtMC4xNzU2Ni0wLjE3NTY2LTAuNDQ5MzQtMC4xNzU2Ni0wLjYyNSAwbC0wLjkwNiAwLjkwNjNjLTAuNDgtMC4yODQ0LTAuOTc3LTAuNTE0MS0xLjUzMS0wLjY1NjN2LTEuMjVjMC4wMDA0LTAuMjQ4NzItMC4xODg3LTAuNDM3OC0wLjQzNzEtMC40Mzc4em0xLjA2MjUgNC4xNTczYzEuODQ1MSAwIDMuMzQyNyAxLjQ5NzUgMy4zNDI3IDMuMzQyNyAwIDEuODQ1MS0xLjQ5NzUgMy4zNDI3LTMuMzQyNyAzLjM0MjctMS44NDUxIDAtMy4zNDI3LTEuNDk3OS0zLjM0MjctMy4zNDNzMS40OTc2LTMuMzQyNyAzLjM0MjctMy4zNDI3eiIgZGlzcGxheT0iYmxvY2siIGZpbGw9IiM5Njk2OTYiLz4KIDwvZz4KPC9zdmc+Cg=='); }
|
||||
background-image: url('../img/filetypes/application.svg'); }
|
||||
.jsxc_chatmessage .jsxc_attachment.jsxc_application-pdf {
|
||||
background-image: url('../img/filetypes/application-pdf.svg'); }
|
||||
.jsxc_chatmessage .jsxc_attachment.jsxc_audio {
|
||||
background-image: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMTYiIHdpZHRoPSIxNiIgdmVyc2lvbj0iMS4wIiB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIiB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iPgogPHBhdGggZD0ibTEyLjgwNSAxLjAwMTFjLTIuMiAwLjM1NDUtNS4xNDQ1IDAuNzE5NC03LjMzODMgMS4wOTM3LTAuNTgxIDAuMjgzNS0wLjQ1MDMgMS4wMTMzLTAuNDc2MSAxLjU0Mjl2Ny4wODk1Yy0xLjIyNDMtMC4yMzAxNy0yLjcxNzMgMC43ODE0Mi0yLjc4MiAyLjM4MzEtMC4xMDU3IDAuOTk3MjEgMC43Nzg1OSAxLjg2NTIgMS43NDAyIDEuODg4NSAxLjcyMTcgMC4wNDE3OSAyLjg5OTItMS4xMDA1IDIuOTE3OS0yLjU0NS0wLjAxODc2LTIuNDI2MSAwLjAwNTYtNC44NTMzIDAtNy4yNzk1IDAuMjY2NTQtMC4wMTk3NCA0LjMwMzYtMC43OTAwNiA0LjY2NjctMC44NDEzNHY1LjQ1MmMtMS4wNy0wLjI1NjEtMi40Mzc0IDAuNDQ3Mi0yLjc3NjYgMS44ODMyLTAuMTQzMTQgMC44MDQ4OSAwLjEyNzQgMS44MTUyIDAuOTQ0MTEgMi4xNTYgMS41OTQzIDAuNzMyNjEgMy43ODMtMC43NTEzNyAzLjY5NC0yLjQ5My0wLjAyNDczLTMuMjM1IDAuMDIwMjUtNi40NzE3IDAtOS43MDctMC4wNDItMC4zMDQyMi0wLjI0ODI3LTAuNjQ0NzQtMC41OTAzMy0wLjYyMjgxeiIgZmlsbD0iIzk2OTY5NiIvPgo8L3N2Zz4K'); }
|
||||
background-image: url('../img/filetypes/audio.svg'); }
|
||||
.jsxc_chatmessage .jsxc_attachment.jsxc_video {
|
||||
background-image: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMTYiIHdpZHRoPSIxNiIgdmVyc2lvbj0iMS4wIiB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIiB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iPgogPHBhdGggc3R5bGU9ImNvbG9yOiMwMDAwMDA7YmxvY2stcHJvZ3Jlc3Npb246dGI7dGV4dC10cmFuc2Zvcm06bm9uZTt0ZXh0LWluZGVudDowIiBkPSJtMS4zNDM4IDJjLTAuMTk3NSAwLjAzODItMC4zNDczNiAwLjIzMzQtMC4zNDM4IDAuNDM3NXYxMS4xMjVjMCAwLjIyOSAwLjIxMiAwLjQzOCAwLjQzNzUgMC40MzhoMTMuMTI1YzAuMjI1NTUtMC4wMDAwMDYgMC40Mzc1LTAuMjA4NDYgMC40Mzc1LTAuNDM3NXYtMTAuOTUzYzAtMC4zMzYyLTAuMjY1LTAuNjExLTAuNTE2LTAuNjA5em0wLjY1NjIgMWgxMnYxMGgtMTJ6bTMgMnY2bDYtM3oiIGZpbGw9IiM5Njk2OTYiLz4KPC9zdmc+Cg=='); }
|
||||
background-image: url('../img/filetypes/video.svg'); }
|
||||
.jsxc_chatmessage .jsxc_attachment.jsxc_text {
|
||||
background-image: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMTYiIHdpZHRoPSIxNiIgdmVyc2lvbj0iMS4wIiB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIiB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iPgogPHBhdGggc3R5bGU9ImNvbG9yOiMwMDAwMDA7YmxvY2stcHJvZ3Jlc3Npb246dGI7dGV4dC10cmFuc2Zvcm06bm9uZTt0ZXh0LWluZGVudDowIiBkPSJtMi4zNDk2IDEuMDAyYy0wLjE5NzUgMC4wMzgyLTAuMzUzMSAwLjIzMzMtMC4zNDk2IDAuNDM3NXYxMy4xMjJjMCAwLjIzIDAuMjA2MSAwLjQzOCAwLjQzMTYgMC40MzhoMTEuMTM4YzAuMjI2IDAgMC40MzItMC4yMDggMC40MzItMC40Mzh2LTEwLjE0MmMtMC4wMDQtMC4wNjY5LTAuMDIzLTAuMTMzLTAuMDU1LTAuMTkxNWwtMy4zMTItMy4xOTkyYy0wLjA0My0wLjAxNjQtMC4wODktMC4wMjU1LTAuMTM1LTAuMDI3M2gtOC4wNjg0Yy0wLjAyNjgtMC4wMDI2NS0wLjA1NTItMC4wMDI2NS0wLjA4MiAwem0xLjY1MDQgMS45OThoNnYxaC02di0xem0wIDNoNXYxaC01di0xem0wIDNoOHYxaC04di0xem0wIDNoNHYxaC00di0xeiIgZmlsbD0iIzk2OTY5NiIvPgo8L3N2Zz4K'); }
|
||||
background-image: url('../img/filetypes/text.svg'); }
|
||||
|
||||
.jsxc_timestamp {
|
||||
font-size: 8px;
|
||||
@@ -3508,6 +3528,19 @@ fieldset[disabled] #jsxc_webrtc .checkbox label {
|
||||
text-overflow: ellipsis;
|
||||
clear: both; }
|
||||
|
||||
.jsxc_encrypted.jsxc_received.jsxc_out .jsxc_timestamp {
|
||||
margin-right: 1px; }
|
||||
|
||||
.jsxc_encrypted .jsxc_timestamp:after {
|
||||
content: " ";
|
||||
display: inline-block;
|
||||
width: 10px;
|
||||
height: 8px;
|
||||
margin-left: 2px;
|
||||
background-image: url('../img/padlock_close_grey.svg');
|
||||
background-size: contain;
|
||||
background-repeat: no-repeat; }
|
||||
|
||||
.jsxc_in {
|
||||
float: left;
|
||||
position: relative;
|
||||
@@ -3534,6 +3567,7 @@ fieldset[disabled] #jsxc_webrtc .checkbox label {
|
||||
position: relative;
|
||||
max-width: 76%;
|
||||
margin-right: 10px;
|
||||
padding-right: 10px;
|
||||
border-radius: 3px;
|
||||
background-color: #e6ffd1; }
|
||||
.jsxc_out:after {
|
||||
@@ -3576,7 +3610,7 @@ div.jsxc_settings {
|
||||
right: -6px; }
|
||||
|
||||
div.jsxc_transfer {
|
||||
background-image: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIgogICB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgdmlld0JveD0iMCAwIDE1IDE1IgogICBpZD0ic3ZnMzA0MSIKICAgaGVpZ2h0PSIxNSIKICAgd2lkdGg9IjE1IgogICB2ZXJzaW9uPSIxLjEiPgogIDxtZXRhZGF0YQogICAgIGlkPSJtZXRhZGF0YTMwNDciPgogICAgPHJkZjpSREY+CiAgICAgIDxjYzpXb3JrCiAgICAgICAgIHJkZjphYm91dD0iIj4KICAgICAgICA8ZGM6Zm9ybWF0PmltYWdlL3N2Zyt4bWw8L2RjOmZvcm1hdD4KICAgICAgICA8ZGM6dHlwZQogICAgICAgICAgIHJkZjpyZXNvdXJjZT0iaHR0cDovL3B1cmwub3JnL2RjL2RjbWl0eXBlL1N0aWxsSW1hZ2UiIC8+CiAgICAgICAgPGRjOnRpdGxlPjwvZGM6dGl0bGU+CiAgICAgIDwvY2M6V29yaz4KICAgIDwvcmRmOlJERj4KICA8L21ldGFkYXRhPgogIDxkZWZzCiAgICAgaWQ9ImRlZnMzMDQ1IiAvPgogIDxyZWN0CiAgICAgc3R5bGU9ImZpbGw6IzAwMDAwMDtzdHJva2U6bm9uZSIKICAgICBpZD0icmVjdDMwNTEiCiAgICAgeT0iOC4wMDg0NzQzIgogICAgIHg9IjIuMTYxMDE3MiIKICAgICBoZWlnaHQ9IjYuOTkxNTI1NyIKICAgICB3aWR0aD0iMTEuMDU5MzIyIiAvPgogIDxwYXRoCiAgICAgc3R5bGU9ImZpbGw6bm9uZTtzdHJva2U6IzAwMDAwMDtzdHJva2Utd2lkdGg6MS44OTk5OTk5ODtzdHJva2UtbGluZWNhcDpidXR0O3N0cm9rZS1saW5lam9pbjptaXRlcjtzdHJva2UtbWl0ZXJsaW1pdDo0O3N0cm9rZS1kYXNoYXJyYXk6bm9uZTtzdHJva2Utb3BhY2l0eToxIgogICAgIGlkPSJwYXRoMzg0OCIKICAgICBkPSJtIDMuMDgyNjI4LDUuMDIxMTg2NCBjIDAsMCAtMC4xMjcxMTksLTQuMDY3Nzk2NTIgNC40NDkxNTIsLTQuMDY3Nzk2NTIgNC41NzYyNjgsMCA0LjcwMzM4NiwzLjk0MDY3NzgyIDQuNzAzMzg2LDMuOTQwNjc3ODIgbCAwLjA2MzU2LDUuNTkzMjE5MyB2IDAiIC8+Cjwvc3ZnPgo=');
|
||||
background-image: url('../img/padlock_open_black.svg');
|
||||
background-repeat: no-repeat;
|
||||
background-position: center center;
|
||||
background-size: 14px 14px;
|
||||
@@ -3589,6 +3623,11 @@ div.jsxc_transfer {
|
||||
cursor: pointer; }
|
||||
div.jsxc_transfer:hover {
|
||||
opacity: 1.0; }
|
||||
div.jsxc_transfer.jsxc_disabled {
|
||||
background-image: url('../img/padlock_open_disabled_black.svg');
|
||||
cursor: default; }
|
||||
div.jsxc_transfer.jsxc_disabled:hover {
|
||||
opacity: 0.3; }
|
||||
div.jsxc_transfer.jsxc_fin {
|
||||
opacity: 1.0;
|
||||
background-image: url('../img/padlock_close_grey.svg'); }
|
||||
@@ -3598,43 +3637,35 @@ div.jsxc_transfer {
|
||||
div.jsxc_transfer.jsxc_enc.jsxc_trust {
|
||||
background-image: url('../img/padlock_close_green.svg'); }
|
||||
|
||||
.jsxc_windowItem.jsxc_groupchat .jsxc_bar .jsxc_avatar, li[data-type="groupchat"] .jsxc_avatar {
|
||||
.jsxc_windowItem.jsxc_groupchat.jsxc_normal .jsxc_bar .jsxc_avatar, li[data-type="groupchat"] .jsxc_avatar {
|
||||
text-indent: 999px;
|
||||
background-image: url('../img/group_white.svg');
|
||||
background-size: 70% 70% !important;
|
||||
background-repeat: no-repeat; }
|
||||
|
||||
.jsxc_windowItem.jsxc_groupchat .jsxc_fade {
|
||||
.jsxc_windowItem.jsxc_groupchat.jsxc_normal .jsxc_fade {
|
||||
padding-top: 44px; }
|
||||
.jsxc_min .jsxc_windowItem.jsxc_groupchat .jsxc_fade {
|
||||
padding-top: 0px; }
|
||||
|
||||
.jsxc_windowItem.jsxc_groupchat .jsxc_video {
|
||||
.jsxc_windowItem.jsxc_groupchat.jsxc_normal .jsxc_fingerprints, .jsxc_windowItem.jsxc_groupchat.jsxc_normal .jsxc_verification, .jsxc_windowItem.jsxc_groupchat.jsxc_normal .jsxc_transfer, .jsxc_windowItem.jsxc_groupchat.jsxc_normal .jsxc_video, .jsxc_windowItem.jsxc_groupchat.jsxc_normal .jsxc_sendFile {
|
||||
display: none; }
|
||||
|
||||
.jsxc_windowItem.jsxc_groupchat .jsxc_transfer {
|
||||
display: none; }
|
||||
|
||||
.jsxc_windowItem.jsxc_groupchat .jsxc_fingerprints, .jsxc_windowItem.jsxc_groupchat .jsxc_verification, .jsxc_windowItem.jsxc_groupchat .jsxc_transfer {
|
||||
display: none; }
|
||||
|
||||
.jsxc_windowItem.jsxc_groupchat .jsxc_members {
|
||||
background-image: url('../img/group_grey.svg');
|
||||
.jsxc_windowItem.jsxc_groupchat.jsxc_normal .jsxc_members {
|
||||
background-image: url('../img/group_white.svg');
|
||||
background-size: 15px 15px;
|
||||
background-repeat: no-repeat;
|
||||
background-position: center; }
|
||||
.jsxc_windowItem.jsxc_groupchat .jsxc_members:hover {
|
||||
background-image: url('../img/group_white.svg'); }
|
||||
.jsxc_windowItem.jsxc_groupchat.jsxc_normal .jsxc_members:hover {
|
||||
opacity: 1.0; }
|
||||
|
||||
.jsxc_windowItem.jsxc_groupchat .jsxc_chatmessage.jsxc_in {
|
||||
.jsxc_windowItem.jsxc_groupchat.jsxc_normal .jsxc_chatmessage.jsxc_in {
|
||||
margin-left: 50px; }
|
||||
.jsxc_windowItem.jsxc_groupchat .jsxc_chatmessage.jsxc_in .jsxc_avatar {
|
||||
.jsxc_windowItem.jsxc_groupchat.jsxc_normal .jsxc_chatmessage.jsxc_in .jsxc_avatar {
|
||||
display: block;
|
||||
position: absolute;
|
||||
bottom: 0px;
|
||||
left: -50px;
|
||||
background-color: #777; }
|
||||
.jsxc_windowItem.jsxc_groupchat .jsxc_chatmessage.jsxc_in .jsxc_avatar:before {
|
||||
.jsxc_windowItem.jsxc_groupchat.jsxc_normal .jsxc_chatmessage.jsxc_in .jsxc_avatar:before {
|
||||
display: none; }
|
||||
|
||||
.jsxc_windowItem .jsxc_memberlist {
|
||||
@@ -3674,8 +3705,8 @@ div.jsxc_transfer {
|
||||
.jsxc_windowItem .jsxc_memberlist.jsxc_expand ul > li {
|
||||
display: block;
|
||||
width: 100%;
|
||||
height: 27px;
|
||||
line-height: 27px; }
|
||||
height: 40px;
|
||||
line-height: 40px; }
|
||||
.jsxc_windowItem .jsxc_memberlist.jsxc_expand ul > li .jsxc_name {
|
||||
display: block;
|
||||
cursor: default; }
|
||||
@@ -3708,6 +3739,7 @@ li[data-type="groupchat"] .jsxc_video {
|
||||
#jsxc_dialog {
|
||||
padding: 20px;
|
||||
min-width: 320px;
|
||||
max-width: 100%;
|
||||
display: inline-block;
|
||||
text-align: left;
|
||||
position: relative;
|
||||
@@ -3780,7 +3812,7 @@ li[data-type="groupchat"] .jsxc_video {
|
||||
background-size: 100%;
|
||||
margin: 0 3px 0 0;
|
||||
background-image: url('../img/loading.gif'); }
|
||||
#jsxc_dialog .jsxc_libraries {
|
||||
#jsxc_dialog .jsxc_libraries, #jsxc_dialog .jsxc_credits {
|
||||
max-width: 300px; }
|
||||
|
||||
.jsxc_avatar {
|
||||
@@ -3930,12 +3962,27 @@ img.jsxc_vCard {
|
||||
.jsxc_btn {
|
||||
width: auto;
|
||||
min-width: 25px;
|
||||
padding: 5px;
|
||||
background-color: rgba(240, 240, 240, 0.9);
|
||||
font-weight: bold;
|
||||
color: #555;
|
||||
border: 1px solid rgba(190, 190, 190, 0.9);
|
||||
cursor: pointer; }
|
||||
display: inline-block;
|
||||
padding: 6px 12px;
|
||||
margin: 0px 2px;
|
||||
font-size: 14px;
|
||||
font-weight: 400;
|
||||
line-height: 1.42857143;
|
||||
text-align: center;
|
||||
white-space: nowrap;
|
||||
vertical-align: middle;
|
||||
cursor: pointer;
|
||||
-webkit-user-select: none;
|
||||
-moz-user-select: none;
|
||||
-ms-user-select: none;
|
||||
user-select: none;
|
||||
background-image: none;
|
||||
border: 1px solid transparent;
|
||||
border-radius: 4px; }
|
||||
.jsxc_btn.jsxc_btn-default {
|
||||
border-color: #ccc;
|
||||
color: #555;
|
||||
background-color: rgba(240, 240, 240, 0.9); }
|
||||
.jsxc_btn.jsxc_btn-primary {
|
||||
color: #fff;
|
||||
background-color: #337ab7;
|
||||
@@ -4007,16 +4054,16 @@ img.jsxc_vCard {
|
||||
vertical-align: sub; }
|
||||
|
||||
.jsxc_editicon {
|
||||
background-image: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMTYiIHdpZHRoPSIxNiIgdmVyc2lvbj0iMS4xIiB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIiB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iPgogPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCAtMTAzNi40KSI+CiAgPHBhdGggZD0ibTEyLjU5NCAxLjM0MzhjLTAuNTMyLTAuMDMxMy0xLjA5NCAwLjE1NjItMS41OTQgMC42NTYybDMgM2MxLjUtMS41IDAuMTg4LTMuNTYyNS0xLjQwNi0zLjY1NjJ6bS0yLjU5NCAxLjY1NjJsLTcgNy0yIDUgNS0yIDctNy0zLTN6bS02LjUgNy41bDIgMi0yLjUgMS41LTEtMSAxLjUtMi41eiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCAxMDM2LjQpIi8+CiA8L2c+Cjwvc3ZnPgo='); }
|
||||
background-image: url('../img/edit_black.svg'); }
|
||||
|
||||
.jsxc_deleteicon {
|
||||
background-image: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMTYiIHdpZHRoPSIxNiIgdmVyc2lvbj0iMS4xIiB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIiB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iPgogPHBhdGggZD0ibTYuNSAxLTAuNSAxaC0zYy0wLjU1NCAwLTEgMC40NDYtMSAxdjFoMTJ2LTFjMC0wLjU1NC0wLjQ0Ni0xLTEtMWgtM2wtMC41LTF6bS0zLjUgNCAwLjg3NSA5YzAuMDYxIDAuNTQ5IDAuNTcyOSAxIDEuMTI1IDFoNmMwLjU1MjMyIDAgMS4wNjQtMC40NTEwMiAxLjEyNS0xbDAuODc1LTl6IiBmaWxsLXJ1bGU9ImV2ZW5vZGQiLz4KPC9zdmc+Cg=='); }
|
||||
background-image: url('../img/delete_black.svg'); }
|
||||
|
||||
.jsxc_chaticon {
|
||||
background-image: url('../img/speech_balloon_black.svg'); }
|
||||
|
||||
.jsxc_videoicon {
|
||||
background-image: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIgogICB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgdmlld0JveD0iMCAwIDIwIDIwIgogICBoZWlnaHQ9IjIwIgogICB3aWR0aD0iMjAiCiAgIGlkPSJzdmcyIgogICB2ZXJzaW9uPSIxLjEiPgogIDxtZXRhZGF0YQogICAgIGlkPSJtZXRhZGF0YTEwIj4KICAgIDxyZGY6UkRGPgogICAgICA8Y2M6V29yawogICAgICAgICByZGY6YWJvdXQ9IiI+CiAgICAgICAgPGRjOmZvcm1hdD5pbWFnZS9zdmcreG1sPC9kYzpmb3JtYXQ+CiAgICAgICAgPGRjOnR5cGUKICAgICAgICAgICByZGY6cmVzb3VyY2U9Imh0dHA6Ly9wdXJsLm9yZy9kYy9kY21pdHlwZS9TdGlsbEltYWdlIiAvPgogICAgICAgIDxkYzp0aXRsZT48L2RjOnRpdGxlPgogICAgICA8L2NjOldvcms+CiAgICA8L3JkZjpSREY+CiAgPC9tZXRhZGF0YT4KICA8ZGVmcwogICAgIGlkPSJkZWZzOCIgLz4KICA8ZwogICAgIHN0eWxlPSJmaWxsOiMwMDAwMDAiCiAgICAgdHJhbnNmb3JtPSJtYXRyaXgoMC4wMzc4ODU5NCwwLDAsMC4wMzc4ODU5NCwtMC40MTM0MDc5MywtMi42MzEwNzE2KSIKICAgICBpZD0ibGF5ZXIxIj4KICAgIDxwYXRoCiAgICAgICBkPSJNIDM2MS42NTE0OCwzMTMuNTE3NjggNTM4LjgxMjIyLDE4MS43MzI1MiBWIDQ4My45NjI1MSBMIDM1OC45NzMzOCwzNTAuMTg1MTcgWiBNIDEwLjkxMTkyMiwxODIuNDA2MzQgSCAzODkuMjg0NiBWIDQ4NS4wNjIxNiBIIDEwLjkxMTkyMiBaIgogICAgICAgc3R5bGU9ImZpbGw6IzAwMDAwMDtzdHJva2U6bm9uZSIKICAgICAgIGlkPSJwYXRoMzkwNiIgLz4KICA8L2c+Cjwvc3ZnPgo='); }
|
||||
background-image: url('../img/camera_icon_black.svg'); }
|
||||
|
||||
.jsxc_infoicon {
|
||||
background-image: url('../img/info_black.svg'); }
|
||||
@@ -4033,6 +4080,9 @@ img.jsxc_vCard {
|
||||
.jsxc_groupcontacticon {
|
||||
background-image: url('../img/groupcontact_black.svg'); }
|
||||
|
||||
.jsxc_bookmarkicon {
|
||||
background-image: url('../img/bookmark_black.svg'); }
|
||||
|
||||
.jsxc_more {
|
||||
float: right;
|
||||
width: 44px;
|
||||
@@ -4047,3 +4097,301 @@ img.jsxc_vCard {
|
||||
@media (min-width: 768px) {
|
||||
.jsxc_more {
|
||||
width: 25px; } }
|
||||
|
||||
.jsxc_remotevideo, .jsxc_noRemoteVideo {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
z-index: 9000;
|
||||
background-color: #999999; }
|
||||
|
||||
#jsxc_webrtc {
|
||||
position: fixed;
|
||||
top: 0;
|
||||
bottom: 0;
|
||||
right: 0;
|
||||
left: 0;
|
||||
z-index: 9999;
|
||||
background-color: black; }
|
||||
#jsxc_webrtc .jsxc_status {
|
||||
z-index: 9999;
|
||||
border-radius: 20px;
|
||||
display: none;
|
||||
position: absolute;
|
||||
top: 30px;
|
||||
left: 50%;
|
||||
background-color: rgba(0, 0, 0, 0.5);
|
||||
color: #fff;
|
||||
padding: 15px;
|
||||
font-weight: bold;
|
||||
text-align: center; }
|
||||
#jsxc_webrtc .slimScrollDiv {
|
||||
opacity: 1 !important; }
|
||||
#jsxc_webrtc li .jsxc_name {
|
||||
cursor: auto; }
|
||||
#jsxc_webrtc li .jsxc_name:hover {
|
||||
color: #bbb; }
|
||||
|
||||
.jsxc_videoContainer {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0px;
|
||||
bottom: 0px;
|
||||
background-color: #999999; }
|
||||
.jsxc_videoContainer video {
|
||||
display: none; }
|
||||
.jsxc_videoContainer .jsxc_noRemoteVideo {
|
||||
display: none; }
|
||||
@media (min-width: 768px) {
|
||||
.jsxc_videoContainer {
|
||||
right: 250px; }
|
||||
.jsxc_videoContainer .jsxc_controlbar {
|
||||
opacity: 0; }
|
||||
.jsxc_videoContainer:hover .jsxc_controlbar {
|
||||
opacity: 1.0; } }
|
||||
|
||||
.jsxc_noRemoteVideo p {
|
||||
position: absolute;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
text-align: center;
|
||||
color: #fff;
|
||||
width: 100%;
|
||||
z-index: 100; }
|
||||
|
||||
.jsxc_noRemoteVideo > div {
|
||||
width: 200px;
|
||||
height: 200px;
|
||||
overflow: hidden;
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
margin-top: -100px;
|
||||
left: 50%;
|
||||
margin-left: -100px; }
|
||||
.jsxc_noRemoteVideo > div > div {
|
||||
background-color: #4d4d4d; }
|
||||
.jsxc_noRemoteVideo > div > div:first-child {
|
||||
width: 50%;
|
||||
height: 50%;
|
||||
border-radius: 50%;
|
||||
position: absolute;
|
||||
left: 50%;
|
||||
margin-left: -25%;
|
||||
top: 10%; }
|
||||
.jsxc_noRemoteVideo > div > div:last-child {
|
||||
position: absolute;
|
||||
bottom: -50%;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
border-radius: 50%; }
|
||||
|
||||
.jsxc_localvideo {
|
||||
width: 160px;
|
||||
height: 120px;
|
||||
position: absolute;
|
||||
right: 10px;
|
||||
bottom: 10px;
|
||||
z-index: 9990;
|
||||
background-color: #000;
|
||||
cursor: pointer; }
|
||||
|
||||
div:full-screen {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
background-color: #000; }
|
||||
div:full-screen.jsxc_localvideo {
|
||||
border: 1px solid #fff; }
|
||||
|
||||
div:-webkit-full-screen {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
background-color: #000; }
|
||||
|
||||
div:-moz-full-screen {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
background-color: #000; }
|
||||
|
||||
div:-ms-fullscreen {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
background-color: #000; }
|
||||
|
||||
div:fullscreen {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
background-color: #000; }
|
||||
div:-webkit-full-screen.jsxc_localvideo {
|
||||
border: 1px solid #fff; }
|
||||
div:-moz-full-screen.jsxc_localvideo {
|
||||
border: 1px solid #fff; }
|
||||
div:-ms-fullscreen.jsxc_localvideo {
|
||||
border: 1px solid #fff; }
|
||||
div:fullscreen.jsxc_localvideo {
|
||||
border: 1px solid #fff; }
|
||||
|
||||
div.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; }
|
||||
div.jsxc_video.jsxc_disabled {
|
||||
background-image: url('../img/camera_disabled_icon_white.svg'); }
|
||||
div.jsxc_video:not(.jsxc_disabled):hover {
|
||||
opacity: 1.0; }
|
||||
|
||||
.jsxc_controlbar {
|
||||
position: absolute;
|
||||
top: 50px;
|
||||
left: 0;
|
||||
right: 0px;
|
||||
text-align: center;
|
||||
z-index: 9090;
|
||||
-webkit-transition: 1s opacity;
|
||||
transition: 1s opacity;
|
||||
opacity: 0; }
|
||||
@media (min-width: 768px) {
|
||||
.jsxc_controlbar {
|
||||
bottom: 5%;
|
||||
top: initial; } }
|
||||
.jsxc_controlbar.jsxc_visible {
|
||||
opacity: 1.0; }
|
||||
.jsxc_controlbar > div {
|
||||
background-color: rgba(0, 0, 0, 0.5);
|
||||
height: 44px;
|
||||
border-radius: 22px;
|
||||
padding: 0px 5px;
|
||||
display: inline-block; }
|
||||
.jsxc_controlbar .jsxc_videoControl {
|
||||
height: 44px;
|
||||
width: 44px;
|
||||
margin: 0 5px;
|
||||
background-position: center;
|
||||
background-repeat: no-repeat;
|
||||
background-size: 90%;
|
||||
cursor: pointer;
|
||||
display: inline-block;
|
||||
opacity: 0.8; }
|
||||
.jsxc_controlbar .jsxc_videoControl:hover {
|
||||
opacity: 1.0; }
|
||||
.jsxc_controlbar .jsxc_hangUp {
|
||||
background-image: url('../img/hang_up_red.svg'); }
|
||||
.jsxc_controlbar .jsxc_fullscreen {
|
||||
background-image: url('../img/fullscreen_white.svg'); }
|
||||
.jsxc_controlbar .jsxc_showchat {
|
||||
float: right; }
|
||||
|
||||
.jsxc_multi > div {
|
||||
display: none; }
|
||||
|
||||
.jsxc_snapshotbar {
|
||||
width: 100%;
|
||||
display: none; }
|
||||
.jsxc_snapshotbar img {
|
||||
height: 50px; }
|
||||
|
||||
.jsxc_buttongroup {
|
||||
display: inline; }
|
||||
.jsxc_buttongroup button:first-child {
|
||||
border-top-right-radius: 0;
|
||||
border-bottom-right-radius: 0;
|
||||
margin-right: 0; }
|
||||
.jsxc_buttongroup button:last-child {
|
||||
border-top-left-radius: 0;
|
||||
border-bottom-left-radius: 0;
|
||||
margin-left: 0; }
|
||||
|
||||
.jsxc_chatarea {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
width: 250px;
|
||||
background-color: whitesmoke;
|
||||
display: none; }
|
||||
@media (min-width: 768px) {
|
||||
.jsxc_chatarea {
|
||||
display: block; } }
|
||||
.jsxc_chatarea .jsxc_settings {
|
||||
display: none !important; }
|
||||
.jsxc_chatarea .jsxc_close {
|
||||
display: none !important; }
|
||||
.jsxc_chatarea .jsxc_video {
|
||||
display: none !important; }
|
||||
.jsxc_chatarea .jsxc_window {
|
||||
bottom: 0;
|
||||
box-shadow: none; }
|
||||
.jsxc_chatarea > ul {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
list-style: none;
|
||||
padding: 0; }
|
||||
|
||||
.bubblingG {
|
||||
text-align: center;
|
||||
width: 129px;
|
||||
height: 80px;
|
||||
position: absolute;
|
||||
top: 40%;
|
||||
left: 50%;
|
||||
margin-left: -64px; }
|
||||
.bubblingG span {
|
||||
display: inline-block;
|
||||
vertical-align: middle;
|
||||
width: 16px;
|
||||
height: 16px;
|
||||
margin: 40px auto;
|
||||
background: #000;
|
||||
border-radius: 81px;
|
||||
-webkit-animation: bubblingG 1.3s infinite alternate;
|
||||
animation: bubblingG 1.3s infinite alternate; }
|
||||
|
||||
#bubblingG_1 {
|
||||
-webkit-animation-delay: 0s;
|
||||
animation-delay: 0s; }
|
||||
|
||||
#bubblingG_2 {
|
||||
-webkit-animation-delay: 0.39s;
|
||||
animation-delay: 0.39s; }
|
||||
|
||||
#bubblingG_3 {
|
||||
-webkit-animation-delay: 0.78s;
|
||||
animation-delay: 0.78s; }
|
||||
|
||||
@-webkit-keyframes bubblingG {
|
||||
0% {
|
||||
width: 16px;
|
||||
height: 16px;
|
||||
background-color: #000;
|
||||
-webkit-transform: translateY(0);
|
||||
transform: translateY(0); }
|
||||
100% {
|
||||
width: 39px;
|
||||
height: 39px;
|
||||
background-color: #fff;
|
||||
-webkit-transform: translateY(-34px);
|
||||
transform: translateY(-34px); } }
|
||||
|
||||
@keyframes bubblingG {
|
||||
0% {
|
||||
width: 16px;
|
||||
height: 16px;
|
||||
background-color: #000;
|
||||
-webkit-transform: translateY(0);
|
||||
transform: translateY(0); }
|
||||
100% {
|
||||
width: 39px;
|
||||
height: 39px;
|
||||
background-color: #fff;
|
||||
-webkit-transform: translateY(-34px);
|
||||
transform: translateY(-34px); } }
|
||||
|
||||
.jsxc_fullscreen.jsxc_localvideo {
|
||||
border: 1px solid #fff; }
|
||||
|
||||
.jsxc_videoSuitable .jsxc_name {
|
||||
font-style: italic; }
|
||||
|
||||
@@ -1,286 +0,0 @@
|
||||
.jsxc_remotevideo, .jsxc_noRemoteVideo {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
z-index: 9000;
|
||||
background-color: #999999; }
|
||||
|
||||
#jsxc_webrtc {
|
||||
position: fixed;
|
||||
top: 0;
|
||||
bottom: 0;
|
||||
right: 0;
|
||||
left: 0;
|
||||
z-index: 9999;
|
||||
background-color: black; }
|
||||
#jsxc_webrtc .jsxc_status {
|
||||
z-index: 9999;
|
||||
border-radius: 20px;
|
||||
display: none;
|
||||
position: absolute;
|
||||
top: 30px;
|
||||
left: 50%;
|
||||
background-color: rgba(0, 0, 0, 0.5);
|
||||
color: #fff;
|
||||
padding: 15px;
|
||||
font-weight: bold;
|
||||
text-align: center; }
|
||||
#jsxc_webrtc .slimScrollDiv {
|
||||
opacity: 1 !important; }
|
||||
#jsxc_webrtc li .jsxc_name {
|
||||
cursor: auto; }
|
||||
#jsxc_webrtc li .jsxc_name:hover {
|
||||
color: #bbb; }
|
||||
|
||||
.jsxc_videoContainer {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0px;
|
||||
bottom: 0px;
|
||||
background-color: #999999; }
|
||||
.jsxc_videoContainer video {
|
||||
display: none; }
|
||||
.jsxc_videoContainer .jsxc_noRemoteVideo {
|
||||
display: none; }
|
||||
@media (min-width: 768px) {
|
||||
.jsxc_videoContainer {
|
||||
right: 250px; }
|
||||
.jsxc_videoContainer .jsxc_controlbar {
|
||||
opacity: 0;
|
||||
-webkit-transition: 1s opacity;
|
||||
transition: 1s opacity; }
|
||||
.jsxc_videoContainer:hover .jsxc_controlbar {
|
||||
opacity: 1.0; } }
|
||||
|
||||
.jsxc_noRemoteVideo p {
|
||||
position: absolute;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
text-align: center;
|
||||
color: #fff;
|
||||
width: 100%;
|
||||
z-index: 100; }
|
||||
|
||||
.jsxc_noRemoteVideo > div {
|
||||
width: 200px;
|
||||
height: 200px;
|
||||
overflow: hidden;
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
margin-top: -100px;
|
||||
left: 50%;
|
||||
margin-left: -100px; }
|
||||
.jsxc_noRemoteVideo > div > div {
|
||||
background-color: #4d4d4d; }
|
||||
.jsxc_noRemoteVideo > div > div:first-child {
|
||||
width: 50%;
|
||||
height: 50%;
|
||||
border-radius: 50%;
|
||||
position: absolute;
|
||||
left: 50%;
|
||||
margin-left: -25%;
|
||||
top: 10%; }
|
||||
.jsxc_noRemoteVideo > div > div:last-child {
|
||||
position: absolute;
|
||||
bottom: -50%;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
border-radius: 50%; }
|
||||
|
||||
.jsxc_localvideo {
|
||||
width: 160px;
|
||||
height: 120px;
|
||||
position: absolute;
|
||||
right: 10px;
|
||||
bottom: 10px;
|
||||
z-index: 9990;
|
||||
background-color: #000;
|
||||
cursor: pointer; }
|
||||
|
||||
div:full-screen {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
background-color: #000; }
|
||||
div:full-screen.jsxc_localvideo {
|
||||
border: 1px solid #fff; }
|
||||
|
||||
div:-webkit-full-screen {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
background-color: #000; }
|
||||
|
||||
div:-moz-full-screen {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
background-color: #000; }
|
||||
|
||||
div:-ms-fullscreen {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
background-color: #000; }
|
||||
|
||||
div:fullscreen {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
background-color: #000; }
|
||||
div:-webkit-full-screen.jsxc_localvideo {
|
||||
border: 1px solid #fff; }
|
||||
div:-moz-full-screen.jsxc_localvideo {
|
||||
border: 1px solid #fff; }
|
||||
div:-ms-fullscreen.jsxc_localvideo {
|
||||
border: 1px solid #fff; }
|
||||
div:fullscreen.jsxc_localvideo {
|
||||
border: 1px solid #fff; }
|
||||
|
||||
div.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; }
|
||||
div.jsxc_video.jsxc_disabled {
|
||||
background-image: url('../img/camera_disabled_icon_white.svg'); }
|
||||
div.jsxc_video:not(.jsxc_disabled):hover {
|
||||
opacity: 1.0; }
|
||||
|
||||
.jsxc_controlbar {
|
||||
position: absolute;
|
||||
top: 50px;
|
||||
left: 0;
|
||||
right: 0px;
|
||||
text-align: center;
|
||||
z-index: 9090; }
|
||||
.jsxc_controlbar > div {
|
||||
background-color: rgba(0, 0, 0, 0.5);
|
||||
height: 44px;
|
||||
border-radius: 22px;
|
||||
padding: 5px;
|
||||
display: inline-block; }
|
||||
.jsxc_controlbar .jsxc_videoControl {
|
||||
height: 44px;
|
||||
width: 44px;
|
||||
margin: 0 5px;
|
||||
background-position: center;
|
||||
background-repeat: no-repeat;
|
||||
background-size: 90%;
|
||||
cursor: pointer;
|
||||
display: inline-block;
|
||||
opacity: 0.8; }
|
||||
.jsxc_controlbar .jsxc_videoControl:hover {
|
||||
opacity: 1.0; }
|
||||
.jsxc_controlbar .jsxc_hangUp {
|
||||
background-image: url('../img/hang_up_red.svg'); }
|
||||
.jsxc_controlbar .jsxc_fullscreen {
|
||||
background-image: url('../img/fullscreen_white.svg'); }
|
||||
.jsxc_controlbar .jsxc_showchat {
|
||||
float: right; }
|
||||
|
||||
.jsxc_multi > div {
|
||||
display: none; }
|
||||
|
||||
.jsxc_snapshotbar {
|
||||
width: 100%;
|
||||
display: none; }
|
||||
.jsxc_snapshotbar img {
|
||||
height: 50px; }
|
||||
|
||||
.jsxc_buttongroup {
|
||||
display: inline; }
|
||||
.jsxc_buttongroup button:first-child {
|
||||
border-top-right-radius: 0;
|
||||
border-bottom-right-radius: 0;
|
||||
margin-right: 0; }
|
||||
.jsxc_buttongroup button:last-child {
|
||||
border-top-left-radius: 0;
|
||||
border-bottom-left-radius: 0;
|
||||
margin-left: 0; }
|
||||
|
||||
.jsxc_chatarea {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
width: 250px;
|
||||
background-color: whitesmoke; }
|
||||
.jsxc_chatarea .jsxc_settings {
|
||||
display: none !important; }
|
||||
.jsxc_chatarea .jsxc_close {
|
||||
display: none !important; }
|
||||
.jsxc_chatarea .jsxc_video {
|
||||
display: none !important; }
|
||||
.jsxc_chatarea .jsxc_window {
|
||||
bottom: 0;
|
||||
box-shadow: none; }
|
||||
.jsxc_chatarea > ul {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
list-style: none;
|
||||
padding: 0; }
|
||||
|
||||
.bubblingG {
|
||||
text-align: center;
|
||||
width: 129px;
|
||||
height: 80px;
|
||||
position: absolute;
|
||||
top: 40%;
|
||||
left: 50%;
|
||||
margin-left: -64px; }
|
||||
.bubblingG span {
|
||||
display: inline-block;
|
||||
vertical-align: middle;
|
||||
width: 16px;
|
||||
height: 16px;
|
||||
margin: 40px auto;
|
||||
background: #000;
|
||||
border-radius: 81px;
|
||||
-webkit-animation: bubblingG 1.3s infinite alternate;
|
||||
animation: bubblingG 1.3s infinite alternate; }
|
||||
|
||||
#bubblingG_1 {
|
||||
-webkit-animation-delay: 0s;
|
||||
animation-delay: 0s; }
|
||||
|
||||
#bubblingG_2 {
|
||||
-webkit-animation-delay: 0.39s;
|
||||
animation-delay: 0.39s; }
|
||||
|
||||
#bubblingG_3 {
|
||||
-webkit-animation-delay: 0.78s;
|
||||
animation-delay: 0.78s; }
|
||||
|
||||
@-webkit-keyframes bubblingG {
|
||||
0% {
|
||||
width: 16px;
|
||||
height: 16px;
|
||||
background-color: #000;
|
||||
-webkit-transform: translateY(0);
|
||||
transform: translateY(0); }
|
||||
100% {
|
||||
width: 39px;
|
||||
height: 39px;
|
||||
background-color: #fff;
|
||||
-webkit-transform: translateY(-34px);
|
||||
transform: translateY(-34px); } }
|
||||
|
||||
@keyframes bubblingG {
|
||||
0% {
|
||||
width: 16px;
|
||||
height: 16px;
|
||||
background-color: #000;
|
||||
-webkit-transform: translateY(0);
|
||||
transform: translateY(0); }
|
||||
100% {
|
||||
width: 39px;
|
||||
height: 39px;
|
||||
background-color: #fff;
|
||||
-webkit-transform: translateY(-34px);
|
||||
transform: translateY(-34px); } }
|
||||
|
||||
.jsxc_fullscreen.jsxc_localvideo {
|
||||
border: 1px solid #fff; }
|
||||
|
||||
.jsxc_videoSuitable .jsxc_name {
|
||||
font-style: italic; }
|
||||
@@ -0,0 +1,57 @@
|
||||
<?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"
|
||||
height="16"
|
||||
width="16"
|
||||
version="1.1"
|
||||
id="svg6"
|
||||
inkscape:version="0.91+devel r"
|
||||
sodipodi:docname="bookmark_black.svg"
|
||||
viewBox="0 0 16 16">
|
||||
<metadata
|
||||
id="metadata12">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<defs
|
||||
id="defs10" />
|
||||
<sodipodi:namedview
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1394"
|
||||
inkscape:window-height="922"
|
||||
inkscape:document-units="px"
|
||||
id="namedview8"
|
||||
showgrid="false"
|
||||
inkscape:zoom="41.7193"
|
||||
inkscape:cx="9.0040062"
|
||||
inkscape:cy="8.196313"
|
||||
inkscape:window-x="61"
|
||||
inkscape:window-y="34"
|
||||
inkscape:window-maximized="0"
|
||||
inkscape:current-layer="svg6" />
|
||||
<path
|
||||
style="fill:#000000;fill-rule:evenodd;stroke:#000000;stroke-width:0.69061381;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="M 4.1233005,0.89389693 V 14.588472 l 3.8089033,-4.450726 3.8089022,4.450726 V 0.93667093 Z"
|
||||
id="path4141"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="cccccc" />
|
||||
</svg>
|
||||
|
Depois Largura: | Altura: | Tamanho: 1.8 KiB |
@@ -0,0 +1,58 @@
|
||||
<?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"
|
||||
height="16"
|
||||
width="16"
|
||||
version="1.1"
|
||||
id="svg6"
|
||||
inkscape:version="0.91+devel r"
|
||||
sodipodi:docname="bookmark_white.svg"
|
||||
viewBox="0 0 16 16">
|
||||
<metadata
|
||||
id="metadata12">
|
||||
<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></dc:title>
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<defs
|
||||
id="defs10" />
|
||||
<sodipodi:namedview
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1394"
|
||||
inkscape:window-height="922"
|
||||
inkscape:document-units="px"
|
||||
id="namedview8"
|
||||
showgrid="false"
|
||||
inkscape:zoom="41.7193"
|
||||
inkscape:cx="9.0040062"
|
||||
inkscape:cy="8.196313"
|
||||
inkscape:window-x="61"
|
||||
inkscape:window-y="34"
|
||||
inkscape:window-maximized="0"
|
||||
inkscape:current-layer="svg6" />
|
||||
<path
|
||||
style="fill:#ffffff;fill-rule:evenodd;stroke:#ffffff;stroke-width:0.69061381;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="M 4.1233005,0.89389693 V 14.588472 l 3.8089033,-4.450726 3.8089022,4.450726 V 0.93667093 Z"
|
||||
id="path4141"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="cccccc" />
|
||||
</svg>
|
||||
|
Depois Largura: | Altura: | Tamanho: 1.8 KiB |
@@ -0,0 +1,67 @@
|
||||
<?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"
|
||||
viewBox="0 0 15 15"
|
||||
id="svg3041"
|
||||
height="15"
|
||||
width="15"
|
||||
version="1.1"
|
||||
inkscape:version="0.91+devel r"
|
||||
sodipodi:docname="padlock_open_disabled_black.svg">
|
||||
<sodipodi:namedview
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1678"
|
||||
inkscape:window-height="958"
|
||||
id="namedview7"
|
||||
showgrid="false"
|
||||
inkscape:zoom="22.627417"
|
||||
inkscape:cx="7.9563473"
|
||||
inkscape:cy="5.2327464"
|
||||
inkscape:window-x="51"
|
||||
inkscape:window-y="34"
|
||||
inkscape:window-maximized="0"
|
||||
inkscape:current-layer="svg3041" />
|
||||
<metadata
|
||||
id="metadata3047">
|
||||
<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>
|
||||
<defs
|
||||
id="defs3045" />
|
||||
<path
|
||||
style="fill:#000000;stroke:none"
|
||||
d="M 7.53125 0.00390625 C 4.961633 0.00390625 3.4225559 1.2787042 2.7519531 2.5410156 C 2.0813503 3.803327 2.1328125 5.0507812 2.1328125 5.0507812 L 4.03125 4.9921875 C 4.03125 4.9921875 4.019782 4.2051806 4.4296875 3.4335938 C 4.8395929 2.6620069 5.524596 1.9042969 7.53125 1.9042969 C 9.5466986 1.9042969 10.324942 2.6626717 10.789062 3.4199219 C 11.253184 4.177172 11.285156 4.9238281 11.285156 4.9238281 L 11.320312 8.0078125 L 2.1601562 8.0078125 L 2.1601562 15 L 13.220703 15 L 13.220703 9.5371094 L 13.238281 9.5371094 L 13.220703 8.0078125 L 13.185547 4.8730469 L 13.185547 4.8632812 C 13.185547 4.8632812 13.153667 3.6408231 12.410156 2.4277344 C 11.666646 1.2146499 10.092069 0.00390625 7.53125 0.00390625 z "
|
||||
id="rect3051" />
|
||||
<path
|
||||
style="fill:#ffffff;fill-rule:evenodd;stroke:#ffffff;stroke-width:4;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="M 0.18997448,16.385763 15.366374,-2.2072779"
|
||||
id="path4160-1-3-1"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="cc" />
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="M -0.40599717,17.241436 14.770403,-1.3516053"
|
||||
id="path4160-1-3"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="cc" />
|
||||
</svg>
|
||||
|
Depois Largura: | Altura: | Tamanho: 2.9 KiB |
+294
-172
@@ -1,5 +1,5 @@
|
||||
/*!
|
||||
* jsxc v3.0.0-beta1 - 2016-01-28
|
||||
* jsxc v3.0.0 - 2016-03-11
|
||||
*
|
||||
* Copyright (c) 2016 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.0.0-beta1
|
||||
* @version 3.0.0
|
||||
* @license MIT
|
||||
*/
|
||||
|
||||
@@ -25,7 +25,7 @@ var jsxc = null, RTC = null, RTCPeerconnection = null;
|
||||
*/
|
||||
jsxc = {
|
||||
/** Version of jsxc */
|
||||
version: '3.0.0-beta1',
|
||||
version: '3.0.0',
|
||||
|
||||
/** True if i'm the master */
|
||||
master: false,
|
||||
@@ -161,10 +161,10 @@ jsxc = {
|
||||
}
|
||||
}
|
||||
|
||||
jsxc.log = jsxc.log + msg + ': ' + d + '\n';
|
||||
jsxc.log = jsxc.log + '$ ' + msg + ': ' + d + '\n';
|
||||
} else {
|
||||
console.log(msg);
|
||||
jsxc.log = jsxc.log + msg + '\n';
|
||||
jsxc.log = jsxc.log + '$ ' + msg + '\n';
|
||||
}
|
||||
},
|
||||
|
||||
@@ -201,6 +201,11 @@ jsxc = {
|
||||
*/
|
||||
init: function(options) {
|
||||
|
||||
if (options && options.loginForm && typeof options.loginForm.attachIfFound === 'boolean' && !options.loginForm.ifFound) {
|
||||
// translate deprated option attachIfFound found to new ifFound
|
||||
options.loginForm.ifFound = (options.loginForm.attachIfFound) ? 'attach' : 'pause';
|
||||
}
|
||||
|
||||
if (options) {
|
||||
// override default options
|
||||
$.extend(true, jsxc.options, options);
|
||||
@@ -293,7 +298,7 @@ jsxc = {
|
||||
});
|
||||
|
||||
// Check if we have to establish a new connection
|
||||
if (!jsxc.storage.getItem('rid') || !jsxc.storage.getItem('sid') || !jsxc.storage.getItem('jid')) {
|
||||
if (!(jsxc.storage.getItem('rid') && jsxc.storage.getItem('sid') && jsxc.storage.getItem('jid')) || (jsxc.options.loginForm && jsxc.options.loginForm.ifFound === 'force' && jsxc.isLoginForm())) {
|
||||
|
||||
// clean up rid and sid
|
||||
jsxc.storage.removeItem('rid');
|
||||
@@ -354,7 +359,7 @@ jsxc = {
|
||||
return false;
|
||||
});
|
||||
|
||||
} else if (!jsxc.isLoginForm() || (jsxc.options.loginForm && jsxc.options.loginForm.attachIfFound)) {
|
||||
} else if (!jsxc.isLoginForm() || (jsxc.options.loginForm && jsxc.options.loginForm.ifFound === 'attach')) {
|
||||
|
||||
// Restore old connection
|
||||
|
||||
@@ -1077,6 +1082,7 @@ jsxc.xmpp = {
|
||||
// clean up
|
||||
jsxc.storage.removeUserItem('buddylist');
|
||||
jsxc.storage.removeUserItem('windowlist');
|
||||
jsxc.storage.removeUserItem('unreadMsg');
|
||||
|
||||
if (!jsxc.master) {
|
||||
$('#jsxc_roster').remove();
|
||||
@@ -2139,6 +2145,7 @@ jsxc.xmpp.carbons = {
|
||||
* @param {boolean} args.encrypted
|
||||
* @param {boolean} args.forwarded
|
||||
* @param {boolean} args.sender
|
||||
* @param {integer} args.stamp
|
||||
* @param {object} args.attachment Attached data
|
||||
* @param {string} args.attachment.name File name
|
||||
* @param {string} args.attachment.size File size
|
||||
@@ -3211,12 +3218,16 @@ jsxc.gui = {
|
||||
if (navigator) {
|
||||
var key;
|
||||
for (key in navigator) {
|
||||
if (navigator.hasOwnProperty(key) && typeof navigator[key] === 'string') {
|
||||
if (typeof navigator[key] === 'string') {
|
||||
userInfo += '<b>' + key + ':</b> ' + navigator[key] + '<br />';
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if ($.fn && $.fn.jquery) {
|
||||
userInfo += '<b>jQuery:</b> ' + $.fn.jquery + '<br />';
|
||||
}
|
||||
|
||||
if (window.screen) {
|
||||
userInfo += '<b>Height:</b> ' + window.screen.height + '<br />';
|
||||
userInfo += '<b>Width:</b> ' + window.screen.width + '<br />';
|
||||
@@ -3426,22 +3437,24 @@ jsxc.gui = {
|
||||
jsxc.options.set(key, val);
|
||||
});
|
||||
|
||||
var success = jsxc.options.saveSettinsPermanent.call(this, data);
|
||||
|
||||
if (typeof self.attr('data-onsubmit') === 'string') {
|
||||
jsxc.exec(self.attr('data-onsubmit'), [success]);
|
||||
}
|
||||
|
||||
setTimeout(function() {
|
||||
if (success) {
|
||||
self.find('button[type="submit"]').switchClass('btn-primary', 'btn-success');
|
||||
} else {
|
||||
self.find('button[type="submit"]').switchClass('btn-primary', 'btn-danger');
|
||||
var cb = function(success) {
|
||||
if (typeof self.attr('data-onsubmit') === 'string') {
|
||||
jsxc.exec(self.attr('data-onsubmit'), [success]);
|
||||
}
|
||||
|
||||
setTimeout(function() {
|
||||
self.find('button[type="submit"]').switchClass('btn-danger btn-success', 'btn-primary');
|
||||
}, 2000);
|
||||
}, 200);
|
||||
if (success) {
|
||||
self.find('button[type="submit"]').switchClass('btn-primary', 'btn-success');
|
||||
} else {
|
||||
self.find('button[type="submit"]').switchClass('btn-primary', 'btn-danger');
|
||||
}
|
||||
setTimeout(function() {
|
||||
self.find('button[type="submit"]').switchClass('btn-danger btn-success', 'btn-primary');
|
||||
}, 2000);
|
||||
}, 200);
|
||||
};
|
||||
|
||||
jsxc.options.saveSettinsPermanent.call(this, data, cb);
|
||||
|
||||
return false;
|
||||
});
|
||||
@@ -3619,7 +3632,7 @@ jsxc.gui = {
|
||||
* @param bid
|
||||
*/
|
||||
unreadMsg: function(bid) {
|
||||
var winData = jsxc.storage.getUserItem('window', bid);
|
||||
var winData = jsxc.storage.getUserItem('window', bid) || {};
|
||||
var count = (winData && winData.unread) || 0;
|
||||
count = (count === true) ? 1 : count + 1; //unread was boolean (<2.1.0)
|
||||
|
||||
@@ -4020,11 +4033,12 @@ jsxc.gui.roster = {
|
||||
scrollTo: '0px'
|
||||
});
|
||||
|
||||
var chat = jsxc.storage.getUserItem('chat', bid) || [];
|
||||
var history = jsxc.storage.getUserItem('history', bid) || [];
|
||||
var i = 0;
|
||||
while (chat.length > i) {
|
||||
if (chat[i].direction !== 'sys') {
|
||||
$('[data-bid="' + bid + '"]').find('.jsxc_lastmsg .jsxc_text').html(chat[i].msg);
|
||||
while (history.length > i) {
|
||||
var message = new jsxc.Message(history[i]);
|
||||
if (message.direction !== jsxc.Message.SYS) {
|
||||
$('[data-bid="' + bid + '"]').find('.jsxc_lastmsg .jsxc_text').html(message.msg);
|
||||
break;
|
||||
}
|
||||
i++;
|
||||
@@ -4864,6 +4878,7 @@ jsxc.gui.window = {
|
||||
* @param {boolean} args.encrypted
|
||||
* @param {boolean} args.forwarded
|
||||
* @param {boolean} args.sender
|
||||
* @param {integer} args.stamp
|
||||
* @param {object} args.attachment Attached data
|
||||
* @param {string} args.attachment.name File name
|
||||
* @param {string} args.attachment.size File size
|
||||
@@ -4980,6 +4995,9 @@ jsxc.gui.window = {
|
||||
// translate shortnames to images
|
||||
msg = jsxc.gui.shortnameToImage(msg);
|
||||
|
||||
// replace line breaks
|
||||
msg = msg.replace(/(\r\n|\r|\n)/g, '<br />');
|
||||
|
||||
var msgDiv = $("<div>"),
|
||||
msgTsDiv = $("<div>");
|
||||
msgDiv.addClass('jsxc_chatmessage jsxc_' + direction);
|
||||
@@ -5076,6 +5094,10 @@ jsxc.gui.window = {
|
||||
}
|
||||
|
||||
avatarDiv.attr('title', jsxc.escapeHTML(title));
|
||||
|
||||
if (msgDiv.prev().length > 0 && msgDiv.prev().find('.jsxc_avatar').attr('title') === avatarDiv.attr('title')) {
|
||||
avatarDiv.css('visibility', 'hidden');
|
||||
}
|
||||
}
|
||||
|
||||
jsxc.gui.detectUriScheme(win);
|
||||
@@ -5149,7 +5171,11 @@ jsxc.gui.window = {
|
||||
|
||||
jsxc.storage.setUserItem('history', bid, []);
|
||||
|
||||
jsxc.gui.window.get(bid).find('.jsxc_textarea').empty();
|
||||
var win = jsxc.gui.window.get(bid);
|
||||
|
||||
if (win.length > 0) {
|
||||
win.find('.jsxc_textarea').empty();
|
||||
}
|
||||
},
|
||||
|
||||
/**
|
||||
@@ -5185,10 +5211,19 @@ jsxc.gui.window = {
|
||||
}
|
||||
},
|
||||
|
||||
showOverlay: function(bid, content) {
|
||||
showOverlay: function(bid, content, allowClose) {
|
||||
var win = jsxc.gui.window.get(bid);
|
||||
|
||||
win.find('.jsxc_overlay > div').empty().append(content);
|
||||
win.find('.jsxc_overlay .jsxc_body').empty().append(content);
|
||||
win.find('.jsxc_overlay .jsxc_close').off('click').click(function() {
|
||||
jsxc.gui.window.hideOverlay(bid);
|
||||
});
|
||||
|
||||
if (allowClose !== true) {
|
||||
win.find('.jsxc_overlay .jsxc_close').hide();
|
||||
} else {
|
||||
win.find('.jsxc_overlay .jsxc_close').show();
|
||||
}
|
||||
|
||||
win.addClass('jsxc_showOverlay');
|
||||
},
|
||||
@@ -5303,7 +5338,7 @@ jsxc.gui.window = {
|
||||
var msg = $('<div><div><label><input type="file" name="files" /><label></div></div>');
|
||||
msg.addClass('jsxc_chatmessage');
|
||||
|
||||
jsxc.gui.window.showOverlay(bid, msg);
|
||||
jsxc.gui.window.showOverlay(bid, msg, true);
|
||||
|
||||
msg.find('label').click();
|
||||
|
||||
@@ -5362,7 +5397,7 @@ jsxc.gui.window = {
|
||||
|
||||
}).appendTo(msg);
|
||||
|
||||
$('<button>').text($.t('Abort')).click(function() {
|
||||
$('<button>').addClass('jsxc_btn jsxc_btn-default').text($.t('Abort')).click(function() {
|
||||
jsxc.gui.window.hideOverlay(bid);
|
||||
}).appendTo(msg);
|
||||
});
|
||||
@@ -5713,6 +5748,10 @@ jsxc.muc = {
|
||||
var bookmark = $("#jsxc_bookmark").prop("checked");
|
||||
var autojoin = $('#jsxc_autojoin').prop('checked');
|
||||
|
||||
// clean up
|
||||
jsxc.gui.window.clear(room);
|
||||
jsxc.storage.setUserItem('member', room, {});
|
||||
|
||||
self.join(room, nickname, password, roomName, subject, bookmark, autojoin);
|
||||
|
||||
return false;
|
||||
@@ -5957,7 +5996,11 @@ jsxc.muc = {
|
||||
var roomdata = jsxc.storage.getUserItem('buddy', room);
|
||||
|
||||
jsxc.storage.updateUserItem('buddy', room, 'state', self.CONST.ROOMSTATE.AWAIT_DESTRUCTION);
|
||||
jsxc.gui.window.postMessage(room, 'sys', $.t('This_room_will_be_closed'));
|
||||
jsxc.gui.window.postMessage({
|
||||
bid: room,
|
||||
direction: jsxc.Message.SYS,
|
||||
msg: $.t('This_room_will_be_closed')
|
||||
});
|
||||
|
||||
var iq = $iq({
|
||||
to: room,
|
||||
@@ -6035,7 +6078,7 @@ jsxc.muc = {
|
||||
var ownNickname = own[bid];
|
||||
var mlIcon = $('<div class="jsxc_members"></div>');
|
||||
|
||||
win.find('.jsxc_tools > .jsxc_transfer').after(mlIcon);
|
||||
win.find('.jsxc_tools > .jsxc_settings').after(mlIcon);
|
||||
|
||||
var ml = $('<div class="jsxc_memberlist"><ul></ul></div>');
|
||||
win.find('.jsxc_fade').prepend(ml);
|
||||
@@ -6104,7 +6147,7 @@ jsxc.muc = {
|
||||
jsxc.muc.scrollMemberListBy(bid, 0);
|
||||
});
|
||||
|
||||
var destroy = $('<li>');
|
||||
var destroy = $('<a>');
|
||||
destroy.text($.t('Destroy'));
|
||||
destroy.addClass('jsxc_destroy');
|
||||
destroy.hide();
|
||||
@@ -6112,7 +6155,7 @@ jsxc.muc = {
|
||||
self.destroy(bid);
|
||||
});
|
||||
|
||||
win.find('.jsxc_settings ul').append(destroy);
|
||||
win.find('.jsxc_settings ul').append($('<li>').append(destroy));
|
||||
|
||||
if (roomdata.state > self.CONST.ROOMSTATE.INIT) {
|
||||
var member = jsxc.storage.getUserItem('member', bid) || {};
|
||||
@@ -6126,14 +6169,14 @@ jsxc.muc = {
|
||||
});
|
||||
}
|
||||
|
||||
var leave = $('<li>');
|
||||
var leave = $('<a>');
|
||||
leave.text($.t('Leave'));
|
||||
leave.addClass('jsxc_leave');
|
||||
leave.click(function() {
|
||||
self.leave(bid);
|
||||
});
|
||||
|
||||
win.find('.jsxc_settings ul').append(leave);
|
||||
win.find('.jsxc_settings ul').append($('<li>').append(leave));
|
||||
},
|
||||
|
||||
/**
|
||||
@@ -6175,10 +6218,6 @@ jsxc.muc = {
|
||||
|
||||
jsxc.storage.setUserItem('roomNames', jsxc.xmpp.conn.muc.roomNames);
|
||||
|
||||
// clean up
|
||||
jsxc.storage.removeUserItem('chat', room);
|
||||
member = {};
|
||||
|
||||
if (jsxc.gui.roster.getItem(room).length === 0) {
|
||||
var bl = jsxc.storage.getUserItem('buddylist');
|
||||
bl.push(room);
|
||||
@@ -6201,7 +6240,11 @@ jsxc.muc = {
|
||||
// room has been destroyed
|
||||
member = {};
|
||||
|
||||
jsxc.gui.window.postMessage(room, 'sys', $.t('This_room_has_been_closed'));
|
||||
jsxc.gui.window.postMessage({
|
||||
bid: room,
|
||||
direction: jsxc.Message.SYS,
|
||||
msg: $.t('This_room_has_been_closed')
|
||||
});
|
||||
|
||||
self.close(room);
|
||||
} else {
|
||||
@@ -6219,27 +6262,39 @@ jsxc.muc = {
|
||||
// prevent to display enter message
|
||||
member[newNickname] = {};
|
||||
|
||||
jsxc.gui.window.postMessage(room, 'sys', $.t('is_now_known_as', {
|
||||
oldNickname: nickname,
|
||||
newNickname: newNickname,
|
||||
escapeInterpolation: true
|
||||
}));
|
||||
jsxc.gui.window.postMessage({
|
||||
bid: room,
|
||||
direction: jsxc.Message.SYS,
|
||||
msg: $.t('is_now_known_as', {
|
||||
oldNickname: nickname,
|
||||
newNickname: newNickname,
|
||||
escapeInterpolation: true
|
||||
})
|
||||
});
|
||||
} else if (codes.length === 0 || (codes.length === 1 && codes.indexOf('110') > -1)) {
|
||||
// normal user exit
|
||||
jsxc.gui.window.postMessage(room, 'sys', $.t('left_the_building', {
|
||||
nickname: nickname,
|
||||
escapeInterpolation: true
|
||||
}));
|
||||
jsxc.gui.window.postMessage({
|
||||
bid: room,
|
||||
direction: jsxc.Message.SYS,
|
||||
msg: $.t('left_the_building', {
|
||||
nickname: nickname,
|
||||
escapeInterpolation: true
|
||||
})
|
||||
});
|
||||
}
|
||||
}
|
||||
} else {
|
||||
// new member joined
|
||||
|
||||
if (!member[nickname] && own[room]) {
|
||||
jsxc.gui.window.postMessage(room, 'sys', $.t('entered_the_room', {
|
||||
nickname: nickname,
|
||||
escapeInterpolation: true
|
||||
}));
|
||||
jsxc.gui.window.postMessage({
|
||||
bid: room,
|
||||
direction: jsxc.Message.SYS,
|
||||
msg: $.t('entered_the_room', {
|
||||
nickname: nickname,
|
||||
escapeInterpolation: true
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
member[nickname] = {
|
||||
@@ -6324,19 +6379,35 @@ jsxc.muc = {
|
||||
},
|
||||
/** Inform occupants that room logging is now enabled */
|
||||
170: function(room) {
|
||||
jsxc.gui.window.postMessage(room, 'sys', $.t('Room_logging_is_enabled'));
|
||||
jsxc.gui.window.postMessage({
|
||||
bid: room,
|
||||
direction: jsxc.Message.SYS,
|
||||
msg: $.t('Room_logging_is_enabled')
|
||||
});
|
||||
},
|
||||
/** Inform occupants that room logging is now disabled */
|
||||
171: function(room) {
|
||||
jsxc.gui.window.postMessage(room, 'sys', $.t('Room_logging_is_disabled'));
|
||||
jsxc.gui.window.postMessage({
|
||||
bid: room,
|
||||
direction: jsxc.Message.SYS,
|
||||
msg: $.t('Room_logging_is_disabled')
|
||||
});
|
||||
},
|
||||
/** Inform occupants that the room is now non-anonymous */
|
||||
172: function(room) {
|
||||
jsxc.gui.window.postMessage(room, 'sys', $.t('Room_is_now_non-anoymous'));
|
||||
jsxc.gui.window.postMessage({
|
||||
bid: room,
|
||||
direction: jsxc.Message.SYS,
|
||||
msg: $.t('Room_is_now_non-anoymous')
|
||||
});
|
||||
},
|
||||
/** Inform occupants that the room is now semi-anonymous */
|
||||
173: function(room) {
|
||||
jsxc.gui.window.postMessage(room, 'sys', $.t('Room_is_now_semi-anonymous'));
|
||||
jsxc.gui.window.postMessage({
|
||||
bid: room,
|
||||
direction: jsxc.Message.SYS,
|
||||
msg: $.t('Room_is_now_semi-anonymous')
|
||||
});
|
||||
},
|
||||
/** Inform user that a new room has been created */
|
||||
201: function(room) {
|
||||
@@ -6382,14 +6453,22 @@ jsxc.muc = {
|
||||
|
||||
if (own[room] === nickname) {
|
||||
jsxc.muc.close(room);
|
||||
jsxc.gui.window.postMessage(room, 'sys', $.t('muc_removed_banned'));
|
||||
jsxc.gui.window.postMessage({
|
||||
bid: room,
|
||||
direction: jsxc.Message.SYS,
|
||||
msg: $.t('muc_removed_banned')
|
||||
});
|
||||
|
||||
jsxc.muc.postReason(room, xdata);
|
||||
} else {
|
||||
jsxc.gui.window.postMessage(room, 'sys', $.t('muc_removed_info_banned', {
|
||||
nickname: nickname,
|
||||
escapeInterpolation: true
|
||||
}));
|
||||
jsxc.gui.window.postMessage({
|
||||
bid: room,
|
||||
direction: jsxc.Message.SYS,
|
||||
msg: $.t('muc_removed_info_banned', {
|
||||
nickname: nickname,
|
||||
escapeInterpolation: true
|
||||
})
|
||||
});
|
||||
}
|
||||
},
|
||||
/** Inform user that he or she has been kicked */
|
||||
@@ -6398,14 +6477,22 @@ jsxc.muc = {
|
||||
|
||||
if (own[room] === nickname) {
|
||||
jsxc.muc.close(room);
|
||||
jsxc.gui.window.postMessage(room, 'sys', $.t('muc_removed_kicked'));
|
||||
jsxc.gui.window.postMessage({
|
||||
bid: room,
|
||||
direction: jsxc.Message.SYS,
|
||||
msg: $.t('muc_removed_kicked')
|
||||
});
|
||||
|
||||
jsxc.muc.postReason(room, xdata);
|
||||
} else {
|
||||
jsxc.gui.window.postMessage(room, 'sys', $.t('muc_removed_info_kicked', {
|
||||
nickname: nickname,
|
||||
escapeInterpolation: true
|
||||
}));
|
||||
jsxc.gui.window.postMessage({
|
||||
bid: room,
|
||||
direction: jsxc.Message.SYS,
|
||||
msg: $.t('muc_removed_info_kicked', {
|
||||
nickname: nickname,
|
||||
escapeInterpolation: true
|
||||
})
|
||||
});
|
||||
}
|
||||
},
|
||||
/** Inform user that he or she is beeing removed from the room because of an affiliation change */
|
||||
@@ -6414,12 +6501,21 @@ jsxc.muc = {
|
||||
|
||||
if (own[room] === nickname) {
|
||||
jsxc.muc.close(room);
|
||||
jsxc.gui.window.postMessage(room, 'sys', $.t('muc_removed_affiliation'));
|
||||
|
||||
jsxc.gui.window.postMessage({
|
||||
bid: room,
|
||||
direction: jsxc.Message.SYS,
|
||||
msg: $.t('muc_removed_affiliation')
|
||||
});
|
||||
} else {
|
||||
jsxc.gui.window.postMessage(room, 'sys', $.t('muc_removed_info_affiliation', {
|
||||
nickname: nickname,
|
||||
escapeInterpolation: true
|
||||
}));
|
||||
jsxc.gui.window.postMessage({
|
||||
bid: room,
|
||||
direction: jsxc.Message.SYS,
|
||||
msg: $.t('muc_removed_info_affiliation', {
|
||||
nickname: nickname,
|
||||
escapeInterpolation: true
|
||||
})
|
||||
});
|
||||
}
|
||||
},
|
||||
/**
|
||||
@@ -6431,12 +6527,20 @@ jsxc.muc = {
|
||||
|
||||
if (own[room] === nickname) {
|
||||
jsxc.muc.close(room);
|
||||
jsxc.gui.window.postMessage(room, 'sys', $.t('muc_removed_membersonly'));
|
||||
jsxc.gui.window.postMessage({
|
||||
bid: room,
|
||||
direction: jsxc.Message.SYS,
|
||||
msg: $.t('muc_removed_membersonly')
|
||||
});
|
||||
} else {
|
||||
jsxc.gui.window.postMessage(room, 'sys', $.t('muc_removed_info_membersonly', {
|
||||
nickname: nickname,
|
||||
escapeInterpolation: true
|
||||
}));
|
||||
jsxc.gui.window.postMessage({
|
||||
bid: room,
|
||||
direction: jsxc.Message.SYS,
|
||||
msg: $.t('muc_removed_info_membersonly', {
|
||||
nickname: nickname,
|
||||
escapeInterpolation: true
|
||||
})
|
||||
});
|
||||
}
|
||||
},
|
||||
/**
|
||||
@@ -6445,7 +6549,11 @@ jsxc.muc = {
|
||||
*/
|
||||
332: function(room) {
|
||||
jsxc.muc.close(room);
|
||||
jsxc.gui.window.postMessage(room, 'sys', $.t('muc_removed_shutdown'));
|
||||
jsxc.gui.window.postMessage({
|
||||
bid: room,
|
||||
direction: jsxc.Message.SYS,
|
||||
msg: $.t('muc_removed_shutdown')
|
||||
});
|
||||
}
|
||||
},
|
||||
|
||||
@@ -6467,9 +6575,18 @@ jsxc.muc = {
|
||||
reason = $.t('Reason') + ': ' + reason;
|
||||
|
||||
if (typeof actor.name === 'string' || typeof actor.jid === 'string') {
|
||||
jsxc.gui.window.postMessage(room, 'in', reason, false, false, null, actor);
|
||||
jsxc.gui.window.postMessage({
|
||||
bid: room,
|
||||
direction: jsxc.Message.IN,
|
||||
msg: reason,
|
||||
sender: actor
|
||||
});
|
||||
} else {
|
||||
jsxc.gui.window.postMessage(room, 'sys', reason);
|
||||
jsxc.gui.window.postMessage({
|
||||
bid: room,
|
||||
direction: jsxc.Message.SYS,
|
||||
msg: reason
|
||||
});
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -6589,7 +6706,7 @@ jsxc.muc = {
|
||||
onGroupchatMessage: function(message) {
|
||||
var id = $(message).attr('id');
|
||||
|
||||
if (jsxc.el_exists($('#' + id))) {
|
||||
if (id && jsxc.el_exists(jsxc.Message.getDOM(id))) {
|
||||
// ignore own incoming messages
|
||||
return true;
|
||||
}
|
||||
@@ -6613,7 +6730,15 @@ jsxc.muc = {
|
||||
sender.jid = member[nickname].jid;
|
||||
}
|
||||
|
||||
jsxc.gui.window.postMessage(room, 'in', body, false, false, stamp, sender);
|
||||
jsxc.gui.window.init(room);
|
||||
|
||||
jsxc.gui.window.postMessage({
|
||||
bid: room,
|
||||
direction: jsxc.Message.IN,
|
||||
msg: body,
|
||||
stamp: stamp,
|
||||
sender: sender
|
||||
});
|
||||
}
|
||||
|
||||
var subject = $(message).find('subject');
|
||||
@@ -6625,10 +6750,14 @@ jsxc.muc = {
|
||||
|
||||
jsxc.storage.setUserItem('buddy', room, roomdata);
|
||||
|
||||
jsxc.gui.window.postMessage(room, 'sys', $.t('changed_subject_to', {
|
||||
nickname: nickname,
|
||||
subject: subject.text()
|
||||
}));
|
||||
jsxc.gui.window.postMessage({
|
||||
bid: room,
|
||||
direction: jsxc.Message.SYS,
|
||||
msg: $.t('changed_subject_to', {
|
||||
nickname: nickname,
|
||||
subject: subject.text()
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
return true;
|
||||
@@ -6649,13 +6778,29 @@ jsxc.muc = {
|
||||
}
|
||||
|
||||
if ($(message).find('item-not-found').length > 0) {
|
||||
jsxc.gui.window.postMessage(room, 'sys', $.t('message_not_send_item-not-found'));
|
||||
jsxc.gui.window.postMessage({
|
||||
bid: room,
|
||||
direction: jsxc.Message.SYS,
|
||||
msg: $.t('message_not_send_item-not-found')
|
||||
});
|
||||
} else if ($(message).find('forbidden').length > 0) {
|
||||
jsxc.gui.window.postMessage(room, 'sys', $.t('message_not_send_forbidden'));
|
||||
jsxc.gui.window.postMessage({
|
||||
bid: room,
|
||||
direction: jsxc.Message.SYS,
|
||||
msg: $.t('message_not_send_forbidden')
|
||||
});
|
||||
} else if ($(message).find('not-acceptable').length > 0) {
|
||||
jsxc.gui.window.postMessage(room, 'sys', $.t('message_not_send_not-acceptable'));
|
||||
jsxc.gui.window.postMessage({
|
||||
bid: room,
|
||||
direction: jsxc.Message.SYS,
|
||||
msg: $.t('message_not_send_not-acceptable')
|
||||
});
|
||||
} else {
|
||||
jsxc.gui.window.postMessage(room, 'sys', $.t('message_not_send'));
|
||||
jsxc.gui.window.postMessage({
|
||||
bid: room,
|
||||
direction: jsxc.Message.SYS,
|
||||
msg: $.t('message_not_send')
|
||||
});
|
||||
}
|
||||
|
||||
jsxc.debug('[muc] error message for ' + room, $(message).find('error')[0]);
|
||||
@@ -6680,8 +6825,9 @@ jsxc.muc = {
|
||||
return;
|
||||
}
|
||||
|
||||
var bo = $('<div>');
|
||||
bo.text('+');
|
||||
var bo = $('<a>');
|
||||
$('<span>').addClass('jsxc_icon jsxc_bookmarkicon').appendTo(bo);
|
||||
$('<span>').text($.t('Bookmark')).appendTo(bo);
|
||||
bo.addClass('jsxc_bookmarkOptions');
|
||||
bo.click(function(ev) {
|
||||
ev.preventDefault();
|
||||
@@ -6691,7 +6837,7 @@ jsxc.muc = {
|
||||
return false;
|
||||
});
|
||||
|
||||
bud.find('.jsxc_rename').before(bo);
|
||||
bud.find('.jsxc_menu ul').append($('<li>').append(bo));
|
||||
|
||||
if (data.bookmarked) {
|
||||
bud.addClass('jsxc_bookmarked');
|
||||
@@ -7386,9 +7532,24 @@ jsxc.options = {
|
||||
*/
|
||||
onAuthFail: 'submit',
|
||||
|
||||
/** True: Attach connection even is login form was found */
|
||||
/**
|
||||
* 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:
|
||||
* - 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.
|
||||
@@ -7466,10 +7627,10 @@ jsxc.options = {
|
||||
*
|
||||
* @memberOf jsxc.options
|
||||
* @param data Holds all data as key/value
|
||||
* @returns {boolean} false if function failes
|
||||
* @param cb Called with true on success, false otherwise
|
||||
*/
|
||||
saveSettinsPermanent: function() {
|
||||
|
||||
saveSettinsPermanent: function(data, cb) {
|
||||
cb(true);
|
||||
},
|
||||
|
||||
carbons: {
|
||||
@@ -9300,7 +9461,14 @@ jsxc.webrtc = {
|
||||
var bid = jsxc.jidToBid(session.peerID);
|
||||
|
||||
if (this.localStream) {
|
||||
this.localStream.stop();
|
||||
if (typeof this.localStream.stop === 'function') {
|
||||
this.localStream.stop();
|
||||
} else {
|
||||
var tracks = this.localStream.getTracks();
|
||||
tracks.forEach(function(track) {
|
||||
track.stop();
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
if ($('.jsxc_videoContainer').length) {
|
||||
@@ -9312,17 +9480,10 @@ jsxc.webrtc = {
|
||||
this.localStream = null;
|
||||
this.remoteStream = null;
|
||||
|
||||
var win = $('#jsxc_webrtc .jsxc_chatarea > ul > li');
|
||||
$('#jsxc_windowList > ul').prepend(win.detach());
|
||||
win.find('.slimScrollDiv').resizable('enable');
|
||||
jsxc.gui.window.resize(win);
|
||||
jsxc.gui.closeVideoWindow();
|
||||
|
||||
$(document).off('cleanup.dialog.jsxc');
|
||||
$(document).off('error.jingle');
|
||||
|
||||
jsxc.gui.dialog.close();
|
||||
$('#jsxc_webrtc').remove();
|
||||
|
||||
jsxc.gui.window.postMessage({
|
||||
bid: bid,
|
||||
direction: jsxc.Message.SYS,
|
||||
@@ -9421,8 +9582,6 @@ jsxc.webrtc = {
|
||||
msg: $.t('ICE_connection_failure')
|
||||
});
|
||||
|
||||
$(document).off('cleanup.dialog.jsxc');
|
||||
|
||||
session.end('failed-transport');
|
||||
|
||||
$(document).trigger('callterminated.jingle');
|
||||
@@ -9459,11 +9618,10 @@ jsxc.webrtc = {
|
||||
});
|
||||
|
||||
$(document).one('error.jingle', function(e, sid, error) {
|
||||
if (error.source !== 'offer') {
|
||||
if (error && error.source !== 'offer') {
|
||||
return;
|
||||
}
|
||||
|
||||
$(document).off('cleanup.dialog.jsxc');
|
||||
setTimeout(function() {
|
||||
jsxc.gui.showAlert("Sorry, we couldn't establish a connection. Maybe your buddy is offline.");
|
||||
}, 500);
|
||||
@@ -9487,9 +9645,13 @@ jsxc.webrtc = {
|
||||
* @memberOf jsxc.webrtc
|
||||
*/
|
||||
hangUp: function(reason, text) {
|
||||
$(document).off('cleanup.dialog.jsxc');
|
||||
if (jsxc.webrtc.conn.jingle.manager && !$.isEmptyObject(jsxc.webrtc.conn.jingle.manager.peers)) {
|
||||
jsxc.webrtc.conn.jingle.terminate(null, reason, text);
|
||||
} else {
|
||||
jsxc.gui.closeVideoWindow();
|
||||
}
|
||||
|
||||
jsxc.webrtc.conn.jingle.terminate(null, reason, text);
|
||||
// @TODO check event
|
||||
$(document).trigger('callterminated.jingle');
|
||||
},
|
||||
|
||||
@@ -9752,20 +9914,6 @@ jsxc.gui.showVideoWindow = function(jid) {
|
||||
$('#jsxc_webrtc .jsxc_' + (self.remoteStream.getVideoTracks().length > 0 ? 'remotevideo' : 'noRemoteVideo')).addClass('jsxc_deviceAvailable');
|
||||
}
|
||||
|
||||
var toggleMulti = function(elem, open) {
|
||||
$('#jsxc_webrtc .jsxc_multi > div').not(elem).slideUp();
|
||||
|
||||
var opt = {
|
||||
complete: jsxc.gui.dialog.resize
|
||||
};
|
||||
|
||||
if (open) {
|
||||
elem.slideDown(opt);
|
||||
} else {
|
||||
elem.slideToggle(opt);
|
||||
}
|
||||
};
|
||||
|
||||
var win = jsxc.gui.window.open(jsxc.jidToBid(jid));
|
||||
|
||||
win.find('.slimScrollDiv').resizable('disable');
|
||||
@@ -9782,33 +9930,6 @@ jsxc.gui.showVideoWindow = function(jid) {
|
||||
jsxc.webrtc.hangUp('success');
|
||||
});
|
||||
|
||||
$('#jsxc_webrtc .jsxc_snapshot').click(function() {
|
||||
jsxc.webrtc.snapshot(rv);
|
||||
toggleMulti($('#jsxc_webrtc .jsxc_snapshotbar'), true);
|
||||
});
|
||||
|
||||
$('#jsxc_webrtc .jsxc_snapshots').click(function() {
|
||||
toggleMulti($('#jsxc_webrtc .jsxc_snapshotbar'));
|
||||
});
|
||||
|
||||
$('#jsxc_webrtc .jsxc_showchat').click(function() {
|
||||
var chatarea = $('#jsxc_webrtc .jsxc_chatarea');
|
||||
|
||||
if (chatarea.is(':hidden')) {
|
||||
chatarea.show();
|
||||
$('#jsxc_webrtc .jsxc_webrtc').width('900');
|
||||
jsxc.gui.dialog.resize({
|
||||
width: '920px'
|
||||
});
|
||||
} else {
|
||||
chatarea.hide();
|
||||
$('#jsxc_webrtc .jsxc_webrtc').width('650');
|
||||
jsxc.gui.dialog.resize({
|
||||
width: '660px'
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
$('#jsxc_webrtc .jsxc_fullscreen').click(function() {
|
||||
|
||||
if ($.support.fullscreen) {
|
||||
@@ -9821,24 +9942,22 @@ jsxc.gui.showVideoWindow = function(jid) {
|
||||
}
|
||||
});
|
||||
|
||||
$('#jsxc_webrtc .jsxc_volume').change(function() {
|
||||
rv[0].volume = $(this).val();
|
||||
$('#jsxc_webrtc .jsxc_videoContainer').click(function() {
|
||||
$('#jsxc_webrtc .jsxc_controlbar').toggleClass('jsxc_visible');
|
||||
});
|
||||
|
||||
$('#jsxc_webrtc .jsxc_volume').dblclick(function() {
|
||||
$(this).val(0.5);
|
||||
});
|
||||
|
||||
$('#jsxc_webrtc .jsxc_videoContainer').toggle(function() {
|
||||
$('#jsxc_webrtc .jsxc_controlbar').css('opacity', '1.0');
|
||||
}, function() {
|
||||
$('#jsxc_webrtc .jsxc_controlbar').css('opacity', '');
|
||||
});
|
||||
|
||||
|
||||
return $('#jsxc_webrtc');
|
||||
};
|
||||
|
||||
jsxc.gui.closeVideoWindow = function() {
|
||||
var win = $('#jsxc_webrtc .jsxc_chatarea > ul > li');
|
||||
$('#jsxc_windowList > ul').prepend(win.detach());
|
||||
win.find('.slimScrollDiv').resizable('enable');
|
||||
jsxc.gui.window.resize(win);
|
||||
|
||||
$('#jsxc_webrtc').remove();
|
||||
};
|
||||
|
||||
$.extend(jsxc.CONST, {
|
||||
KEYCODE_ENTER: 13,
|
||||
KEYCODE_ESC: 27
|
||||
@@ -10207,7 +10326,7 @@ jsxc.gui.template['aboutDialog'] = '<h3>JavaScript XMPP Chat</h3>\n' +
|
||||
' Real-time chat app for {{app_name}} and more.\n' +
|
||||
' <br /> Requires an external <a href="https://xmpp.org/xmpp-software/servers/" target="_blank">XMPP server</a>.\n' +
|
||||
'</p>\n' +
|
||||
'<p>\n' +
|
||||
'<p class="jsxc_credits">\n' +
|
||||
' <b>Credits: </b> <a href="http://www.beepzoid.com/old-phones/" target="_blank">David English (Ringtone)</a>,\n' +
|
||||
' <a href="https://soundcloud.com/freefilmandgamemusic/ping-1?in=freefilmandgamemusic/sets/free-notification-sounds-and" target="_blank">CameronMusic (Ping)</a>,\n' +
|
||||
' <a href="http://www.picol.org/">Picol (Fullscreen icon)</a>, <a href="http://www.jabber.org/">Jabber Software Foundation (Jabber lightbulb logo)</a>\n' +
|
||||
@@ -10390,7 +10509,10 @@ jsxc.gui.template['chatWindow'] = '<li class="jsxc_windowItem">\n' +
|
||||
' </div>\n' +
|
||||
' <div class="jsxc_fade">\n' +
|
||||
' <div class="jsxc_overlay">\n' +
|
||||
' <div />\n' +
|
||||
' <div>\n' +
|
||||
' <div class="jsxc_body" />\n' +
|
||||
' <div class="jsxc_close" />\n' +
|
||||
' </div>\n' +
|
||||
' </div>\n' +
|
||||
' <div class="jsxc_textarea" />\n' +
|
||||
' <div class="jsxc_emoticons">\n' +
|
||||
@@ -10777,7 +10899,7 @@ jsxc.gui.template['videoWindow'] = '<div id="jsxc_webrtc">\n' +
|
||||
' <div></div>\n' +
|
||||
' </div>\n' +
|
||||
' </div>\n' +
|
||||
' <div class="jsxc_controlbar">\n' +
|
||||
' <div class="jsxc_controlbar jsxc_visible">\n' +
|
||||
' <div>\n' +
|
||||
' <div class="jsxc_hangUp jsxc_videoControl" />\n' +
|
||||
' <div class="jsxc_fullscreen jsxc_videoControl" />\n' +
|
||||
|
||||
externo
+8
-8
Diff do arquivo suprimido porque uma ou mais linhas são muito longas
Diff do arquivo suprimido porque uma ou mais linhas são muito longas
externo
-7
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
externo
+4
-4
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
+378
-4
@@ -84,6 +84,310 @@
|
||||
|
||||
|
||||
|
||||
<h3 class="subsection-title">Members</h3>
|
||||
|
||||
<dl>
|
||||
|
||||
<dt>
|
||||
<h4 class="name" id="{boolean}"><span class="type-signature"></span>{boolean}<span class="type-signature"> :boolean</span></h4>
|
||||
|
||||
|
||||
</dt>
|
||||
<dd>
|
||||
|
||||
|
||||
|
||||
<h5>Type:</h5>
|
||||
<ul>
|
||||
<li>
|
||||
|
||||
<span class="param-type">boolean</span>
|
||||
|
||||
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
|
||||
|
||||
<dl class="details">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<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#line33">line 33</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</dl>
|
||||
|
||||
|
||||
|
||||
</dd>
|
||||
|
||||
|
||||
|
||||
<dt>
|
||||
<h4 class="name" id="{boolean}"><span class="type-signature"></span>{boolean}<span class="type-signature"> :boolean</span></h4>
|
||||
|
||||
|
||||
</dt>
|
||||
<dd>
|
||||
|
||||
|
||||
|
||||
<h5>Type:</h5>
|
||||
<ul>
|
||||
<li>
|
||||
|
||||
<span class="param-type">boolean</span>
|
||||
|
||||
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
|
||||
|
||||
<dl class="details">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<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#line36">line 36</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</dl>
|
||||
|
||||
|
||||
|
||||
</dd>
|
||||
|
||||
|
||||
|
||||
<dt>
|
||||
<h4 class="name" id="{boolean}"><span class="type-signature"></span>{boolean}<span class="type-signature"> :boolean</span></h4>
|
||||
|
||||
|
||||
</dt>
|
||||
<dd>
|
||||
|
||||
|
||||
|
||||
<h5>Type:</h5>
|
||||
<ul>
|
||||
<li>
|
||||
|
||||
<span class="param-type">boolean</span>
|
||||
|
||||
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
|
||||
|
||||
<dl class="details">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<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#line39">line 39</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</dl>
|
||||
|
||||
|
||||
|
||||
</dd>
|
||||
|
||||
|
||||
|
||||
<dt>
|
||||
<h4 class="name" id="{integer}"><span class="type-signature"></span>{integer}<span class="type-signature"> :integer</span></h4>
|
||||
|
||||
|
||||
</dt>
|
||||
<dd>
|
||||
|
||||
|
||||
|
||||
<h5>Type:</h5>
|
||||
<ul>
|
||||
<li>
|
||||
|
||||
<span class="param-type">integer</span>
|
||||
|
||||
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
|
||||
|
||||
<dl class="details">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<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#line42">line 42</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</dl>
|
||||
|
||||
|
||||
|
||||
</dd>
|
||||
|
||||
|
||||
|
||||
<dt>
|
||||
<h4 class="name" id="{string}"><span class="type-signature"></span>{string}<span class="type-signature"> :string</span></h4>
|
||||
|
||||
|
||||
</dt>
|
||||
<dd>
|
||||
|
||||
|
||||
|
||||
<h5>Type:</h5>
|
||||
<ul>
|
||||
<li>
|
||||
|
||||
<span class="param-type">string</span>
|
||||
|
||||
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
|
||||
|
||||
<dl class="details">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<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#line30">line 30</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</dl>
|
||||
|
||||
|
||||
|
||||
</dd>
|
||||
|
||||
</dl>
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -92,6 +396,76 @@
|
||||
|
||||
<dl>
|
||||
|
||||
<dt>
|
||||
<h4 class="name" id="direction">direction</h4>
|
||||
|
||||
|
||||
</dt>
|
||||
<dd>
|
||||
|
||||
<div class="description">
|
||||
Message direction can be incoming, outgoing or system.
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<h5>Type:</h5>
|
||||
<ul>
|
||||
<li>
|
||||
|
||||
<span class="param-type"><a href="jsxc.Message.html#IN">jsxc.Message.IN</a></span>
|
||||
|
|
||||
|
||||
<span class="param-type"><a href="jsxc.Message.html#OUT">jsxc.Message.OUT</a></span>
|
||||
|
|
||||
|
||||
<span class="param-type"><a href="jsxc.Message.html#SYS">jsxc.Message.SYS</a></span>
|
||||
|
||||
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
|
||||
|
||||
<dl class="details">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<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>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</dl>
|
||||
|
||||
|
||||
|
||||
</dd>
|
||||
|
||||
|
||||
|
||||
<dt>
|
||||
<h4 class="name" id="getUsers-cb"><span class="type-signature"></span>getUsers-cb<span class="signature">(list)</span><span class="type-signature"></span></h4>
|
||||
|
||||
@@ -182,7 +556,7 @@
|
||||
|
||||
<dt class="tag-source">Source:</dt>
|
||||
<dd class="tag-source"><ul class="dummy"><li>
|
||||
<a href="jsxc.lib.options.js.html">jsxc.lib.options.js</a>, <a href="jsxc.lib.options.js.html#line187">line 187</a>
|
||||
<a href="jsxc.lib.options.js.html">jsxc.lib.options.js</a>, <a href="jsxc.lib.options.js.html#line199">line 199</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -299,7 +673,7 @@
|
||||
|
||||
<dt class="tag-source">Source:</dt>
|
||||
<dd class="tag-source"><ul class="dummy"><li>
|
||||
<a href="jsxc.lib.options.js.html">jsxc.lib.options.js</a>, <a href="jsxc.lib.options.js.html#line154">line 154</a>
|
||||
<a href="jsxc.lib.options.js.html">jsxc.lib.options.js</a>, <a href="jsxc.lib.options.js.html#line166">line 166</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -338,13 +712,13 @@
|
||||
</div>
|
||||
|
||||
<nav>
|
||||
<h2><a href="index.html">Index</a></h2><h3>Namespaces</h3><ul><li><a href="jsxc.html">jsxc</a></li><li><a href="jsxc.gui.html">gui</a></li><li><a href="jsxc.gui.dialog.html">dialog</a></li><li><a href="jsxc.gui.queryActions.html">queryActions</a></li><li><a href="jsxc.gui.roster.html">roster</a></li><li><a href="jsxc.gui.window.html">window</a></li><li><a href="jsxc.muc.html">muc</a></li><li><a href="jsxc.notification.html">notification</a></li><li><a href="jsxc.options.html">options</a></li><li><a href="jsxc.otr.html">otr</a></li><li><a href="jsxc.storage.html">storage</a></li><li><a href="jsxc.webrtc.html">webrtc</a></li><li><a href="jsxc.xmpp.html">xmpp</a></li><li><a href="jsxc.xmpp.bookmarks.html">bookmarks</a></li><li><a href="jsxc.xmpp.carbons.html">carbons</a></li></ul><h3><a href="global.html">Global</a></h3>
|
||||
<h2><a href="index.html">Index</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.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>Global</h3><ul><li>{boolean}</li><li>{integer}</li><li>{string}</li></ul>
|
||||
</nav>
|
||||
|
||||
<br clear="both">
|
||||
|
||||
<footer>
|
||||
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.2.2</a> on Tue Nov 17 2015 17:01:04 GMT+0100 (CET)
|
||||
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.2.2</a> on Fri Mar 11 2016 17:32:12 GMT+0100 (CET)
|
||||
</footer>
|
||||
|
||||
<script> prettyPrint(); </script>
|
||||
|
||||
+2
-2
@@ -48,13 +48,13 @@
|
||||
</div>
|
||||
|
||||
<nav>
|
||||
<h2><a href="index.html">Index</a></h2><h3>Namespaces</h3><ul><li><a href="jsxc.html">jsxc</a></li><li><a href="jsxc.gui.html">gui</a></li><li><a href="jsxc.gui.dialog.html">dialog</a></li><li><a href="jsxc.gui.queryActions.html">queryActions</a></li><li><a href="jsxc.gui.roster.html">roster</a></li><li><a href="jsxc.gui.window.html">window</a></li><li><a href="jsxc.muc.html">muc</a></li><li><a href="jsxc.notification.html">notification</a></li><li><a href="jsxc.options.html">options</a></li><li><a href="jsxc.otr.html">otr</a></li><li><a href="jsxc.storage.html">storage</a></li><li><a href="jsxc.webrtc.html">webrtc</a></li><li><a href="jsxc.xmpp.html">xmpp</a></li><li><a href="jsxc.xmpp.bookmarks.html">bookmarks</a></li><li><a href="jsxc.xmpp.carbons.html">carbons</a></li></ul><h3><a href="global.html">Global</a></h3>
|
||||
<h2><a href="index.html">Index</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.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>Global</h3><ul><li>{boolean}</li><li>{integer}</li><li>{string}</li></ul>
|
||||
</nav>
|
||||
|
||||
<br clear="both">
|
||||
|
||||
<footer>
|
||||
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.2.2</a> on Tue Nov 17 2015 17:01:04 GMT+0100 (CET)
|
||||
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.2.2</a> on Fri Mar 11 2016 17:32:12 GMT+0100 (CET)
|
||||
</footer>
|
||||
|
||||
<script> prettyPrint(); </script>
|
||||
|
||||
Diferenças do arquivo suprimidas por serem muito extensas
Carregar Diff
@@ -66,7 +66,7 @@
|
||||
|
||||
<dt class="tag-source">Source:</dt>
|
||||
<dd class="tag-source"><ul class="dummy"><li>
|
||||
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line1765">line 1765</a>
|
||||
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line1878">line 1878</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -100,7 +100,7 @@
|
||||
<dl>
|
||||
|
||||
<dt>
|
||||
<h4 class="name" id="close"><span class="type-signature"><static> </span>close<span class="signature">()</span><span class="type-signature"></span></h4>
|
||||
<h4 class="name" id="close"><span class="type-signature"><static> </span>close<span class="signature">(<span class="optional">name</span>)</span><span class="type-signature"></span></h4>
|
||||
|
||||
|
||||
</dt>
|
||||
@@ -108,7 +108,8 @@
|
||||
|
||||
|
||||
<div class="description">
|
||||
Close current dialog.
|
||||
If no name is provided every dialog will be closed,
|
||||
otherwise only dialog with given name is closed.
|
||||
</div>
|
||||
|
||||
|
||||
@@ -117,6 +118,66 @@
|
||||
|
||||
|
||||
|
||||
<h5>Parameters:</h5>
|
||||
|
||||
|
||||
<table class="params">
|
||||
<thead>
|
||||
<tr>
|
||||
|
||||
<th>Name</th>
|
||||
|
||||
|
||||
<th>Type</th>
|
||||
|
||||
|
||||
<th>Argument</th>
|
||||
|
||||
|
||||
|
||||
|
||||
<th class="last">Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
|
||||
<tbody>
|
||||
|
||||
|
||||
<tr>
|
||||
|
||||
<td class="name"><code>name</code></td>
|
||||
|
||||
|
||||
<td class="type">
|
||||
|
||||
|
||||
<span class="param-type">string</span>
|
||||
|
||||
|
||||
|
||||
</td>
|
||||
|
||||
|
||||
<td class="attributes">
|
||||
|
||||
<optional><br>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</td>
|
||||
|
||||
|
||||
|
||||
|
||||
<td class="description last">Close only dialog with the given name</td>
|
||||
</tr>
|
||||
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
|
||||
|
||||
<dl class="details">
|
||||
@@ -141,7 +202,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#line1843">line 1843</a>
|
||||
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line1961">line 1961</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -361,7 +422,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#line1780">line 1780</a>
|
||||
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line1893">line 1893</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -500,7 +561,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#line1854">line 1854</a>
|
||||
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line1976">line 1976</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -541,13 +602,13 @@
|
||||
</div>
|
||||
|
||||
<nav>
|
||||
<h2><a href="index.html">Index</a></h2><h3>Namespaces</h3><ul><li><a href="jsxc.html">jsxc</a></li><li><a href="jsxc.gui.html">gui</a></li><li><a href="jsxc.gui.dialog.html">dialog</a></li><li><a href="jsxc.gui.queryActions.html">queryActions</a></li><li><a href="jsxc.gui.roster.html">roster</a></li><li><a href="jsxc.gui.window.html">window</a></li><li><a href="jsxc.muc.html">muc</a></li><li><a href="jsxc.notification.html">notification</a></li><li><a href="jsxc.options.html">options</a></li><li><a href="jsxc.otr.html">otr</a></li><li><a href="jsxc.storage.html">storage</a></li><li><a href="jsxc.webrtc.html">webrtc</a></li><li><a href="jsxc.xmpp.html">xmpp</a></li><li><a href="jsxc.xmpp.bookmarks.html">bookmarks</a></li><li><a href="jsxc.xmpp.carbons.html">carbons</a></li></ul><h3><a href="global.html">Global</a></h3>
|
||||
<h2><a href="index.html">Index</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.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>Global</h3><ul><li>{boolean}</li><li>{integer}</li><li>{string}</li></ul>
|
||||
</nav>
|
||||
|
||||
<br clear="both">
|
||||
|
||||
<footer>
|
||||
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.2.2</a> on Tue Nov 17 2015 17:01:04 GMT+0100 (CET)
|
||||
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.2.2</a> on Fri Mar 11 2016 17:32:12 GMT+0100 (CET)
|
||||
</footer>
|
||||
|
||||
<script> prettyPrint(); </script>
|
||||
|
||||
+172
-31
@@ -276,7 +276,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#line1218">line 1218</a>
|
||||
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line1272">line 1272</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -416,7 +416,7 @@
|
||||
|
||||
<dt class="tag-source">Source:</dt>
|
||||
<dd class="tag-source"><ul class="dummy"><li>
|
||||
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line1144">line 1144</a>
|
||||
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line1188">line 1188</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -528,7 +528,7 @@
|
||||
|
||||
<dt class="tag-source">Source:</dt>
|
||||
<dd class="tag-source"><ul class="dummy"><li>
|
||||
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line1271">line 1271</a>
|
||||
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line1325">line 1325</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -633,6 +633,8 @@
|
||||
|
||||
|
||||
|
||||
<dt class="important tag-deprecated">Deprecated:</dt><dd><ul class="dummy"><li>Use <a href="jsxc.gui.window.html#get">jsxc.gui.window.get</a> instead.</li><ul></dd>
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -645,7 +647,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#line343">line 343</a>
|
||||
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line370">line 370</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -736,7 +738,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#line83">line 83</a>
|
||||
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line98">line 98</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -848,7 +850,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#line1240">line 1240</a>
|
||||
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line1294">line 1294</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -960,7 +962,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#line314">line 314</a>
|
||||
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line340">line 340</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -983,6 +985,145 @@
|
||||
|
||||
|
||||
|
||||
</dd>
|
||||
|
||||
|
||||
|
||||
<dt>
|
||||
<h4 class="name" id="shortnameToImage"><span class="type-signature"><static> </span>shortnameToImage<span class="signature">(str)</span><span class="type-signature"> → {string}</span></h4>
|
||||
|
||||
|
||||
</dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<div class="description">
|
||||
Replace shortname emoticons with images.
|
||||
</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>str</code></td>
|
||||
|
||||
|
||||
<td class="type">
|
||||
|
||||
|
||||
<span class="param-type">string</span>
|
||||
|
||||
|
||||
|
||||
</td>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<td class="description last">text with emoticons as shortname</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#line1432">line 1432</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</dl>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<h5>Returns:</h5>
|
||||
|
||||
|
||||
<div class="param-desc">
|
||||
text with emoticons as images
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<dl>
|
||||
<dt>
|
||||
Type
|
||||
</dt>
|
||||
<dd>
|
||||
|
||||
<span class="param-type">string</span>
|
||||
|
||||
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
|
||||
|
||||
|
||||
</dd>
|
||||
|
||||
|
||||
@@ -1029,7 +1170,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#line812">line 812</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -1146,7 +1287,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#line722">line 722</a>
|
||||
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line760">line 760</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -1281,7 +1422,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#line572">line 572</a>
|
||||
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line610">line 610</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -1350,7 +1491,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#line731">line 731</a>
|
||||
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line769">line 769</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -1531,7 +1672,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#line755">line 755</a>
|
||||
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line793">line 793</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -1678,7 +1819,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#line606">line 606</a>
|
||||
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line644">line 644</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -1747,7 +1888,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#line787">line 787</a>
|
||||
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line825">line 825</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -1864,7 +2005,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#line452">line 452</a>
|
||||
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line476">line 476</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -1933,7 +2074,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#line399">line 399</a>
|
||||
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line423">line 423</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -2050,7 +2191,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#line682">line 682</a>
|
||||
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line720">line 720</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -2137,7 +2278,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#line1034">line 1034</a>
|
||||
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line1078">line 1078</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -2254,7 +2395,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#line815">line 815</a>
|
||||
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line857">line 857</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -2371,7 +2512,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#line461">line 461</a>
|
||||
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line485">line 485</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -2440,7 +2581,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#line860">line 860</a>
|
||||
<a href="jsxc.lib.webrtc.js.html">jsxc.lib.webrtc.js</a>, <a href="jsxc.lib.webrtc.js.html#line1027">line 1027</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -2557,7 +2698,7 @@
|
||||
|
||||
<dt class="tag-source">Source:</dt>
|
||||
<dd class="tag-source"><ul class="dummy"><li>
|
||||
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line710">line 710</a>
|
||||
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line748">line 748</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -2644,7 +2785,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#line354">line 354</a>
|
||||
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line381">line 381</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -2761,7 +2902,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#line142">line 142</a>
|
||||
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line159">line 159</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -2873,7 +3014,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#line1190">line 1190</a>
|
||||
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line1244">line 1244</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -2990,7 +3131,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#line158">line 158</a>
|
||||
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line175">line 175</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -3153,7 +3294,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#line232">line 232</a>
|
||||
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line249">line 249</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -3288,7 +3429,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#line1166">line 1166</a>
|
||||
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line1210">line 1210</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -3357,7 +3498,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#line298">line 298</a>
|
||||
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line324">line 324</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -3398,13 +3539,13 @@
|
||||
</div>
|
||||
|
||||
<nav>
|
||||
<h2><a href="index.html">Index</a></h2><h3>Namespaces</h3><ul><li><a href="jsxc.html">jsxc</a></li><li><a href="jsxc.gui.html">gui</a></li><li><a href="jsxc.gui.dialog.html">dialog</a></li><li><a href="jsxc.gui.queryActions.html">queryActions</a></li><li><a href="jsxc.gui.roster.html">roster</a></li><li><a href="jsxc.gui.window.html">window</a></li><li><a href="jsxc.muc.html">muc</a></li><li><a href="jsxc.notification.html">notification</a></li><li><a href="jsxc.options.html">options</a></li><li><a href="jsxc.otr.html">otr</a></li><li><a href="jsxc.storage.html">storage</a></li><li><a href="jsxc.webrtc.html">webrtc</a></li><li><a href="jsxc.xmpp.html">xmpp</a></li><li><a href="jsxc.xmpp.bookmarks.html">bookmarks</a></li><li><a href="jsxc.xmpp.carbons.html">carbons</a></li></ul><h3><a href="global.html">Global</a></h3>
|
||||
<h2><a href="index.html">Index</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.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>Global</h3><ul><li>{boolean}</li><li>{integer}</li><li>{string}</li></ul>
|
||||
</nav>
|
||||
|
||||
<br clear="both">
|
||||
|
||||
<footer>
|
||||
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.2.2</a> on Tue Nov 17 2015 17:01:04 GMT+0100 (CET)
|
||||
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.2.2</a> on Fri Mar 11 2016 17:32:12 GMT+0100 (CET)
|
||||
</footer>
|
||||
|
||||
<script> prettyPrint(); </script>
|
||||
|
||||
@@ -66,7 +66,7 @@
|
||||
|
||||
<dt class="tag-source">Source:</dt>
|
||||
<dd class="tag-source"><ul class="dummy"><li>
|
||||
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line36">line 36</a>
|
||||
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line51">line 51</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -141,7 +141,7 @@
|
||||
|
||||
<dt class="tag-source">Source:</dt>
|
||||
<dd class="tag-source"><ul class="dummy"><li>
|
||||
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line71">line 71</a>
|
||||
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line86">line 86</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#line43">line 43</a>
|
||||
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line58">line 58</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -279,7 +279,7 @@
|
||||
|
||||
<dt class="tag-source">Source:</dt>
|
||||
<dd class="tag-source"><ul class="dummy"><li>
|
||||
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line52">line 52</a>
|
||||
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line67">line 67</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -348,7 +348,7 @@
|
||||
|
||||
<dt class="tag-source">Source:</dt>
|
||||
<dd class="tag-source"><ul class="dummy"><li>
|
||||
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line57">line 57</a>
|
||||
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line72">line 72</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -417,7 +417,7 @@
|
||||
|
||||
<dt class="tag-source">Source:</dt>
|
||||
<dd class="tag-source"><ul class="dummy"><li>
|
||||
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line66">line 66</a>
|
||||
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line81">line 81</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -458,13 +458,13 @@
|
||||
</div>
|
||||
|
||||
<nav>
|
||||
<h2><a href="index.html">Index</a></h2><h3>Namespaces</h3><ul><li><a href="jsxc.html">jsxc</a></li><li><a href="jsxc.gui.html">gui</a></li><li><a href="jsxc.gui.dialog.html">dialog</a></li><li><a href="jsxc.gui.queryActions.html">queryActions</a></li><li><a href="jsxc.gui.roster.html">roster</a></li><li><a href="jsxc.gui.window.html">window</a></li><li><a href="jsxc.muc.html">muc</a></li><li><a href="jsxc.notification.html">notification</a></li><li><a href="jsxc.options.html">options</a></li><li><a href="jsxc.otr.html">otr</a></li><li><a href="jsxc.storage.html">storage</a></li><li><a href="jsxc.webrtc.html">webrtc</a></li><li><a href="jsxc.xmpp.html">xmpp</a></li><li><a href="jsxc.xmpp.bookmarks.html">bookmarks</a></li><li><a href="jsxc.xmpp.carbons.html">carbons</a></li></ul><h3><a href="global.html">Global</a></h3>
|
||||
<h2><a href="index.html">Index</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.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>Global</h3><ul><li>{boolean}</li><li>{integer}</li><li>{string}</li></ul>
|
||||
</nav>
|
||||
|
||||
<br clear="both">
|
||||
|
||||
<footer>
|
||||
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.2.2</a> on Tue Nov 17 2015 17:01:04 GMT+0100 (CET)
|
||||
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.2.2</a> on Fri Mar 11 2016 17:32:12 GMT+0100 (CET)
|
||||
</footer>
|
||||
|
||||
<script> prettyPrint(); </script>
|
||||
|
||||
+20
-20
@@ -66,7 +66,7 @@
|
||||
|
||||
<dt class="tag-source">Source:</dt>
|
||||
<dd class="tag-source"><ul class="dummy"><li>
|
||||
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line1373">line 1373</a>
|
||||
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line1461">line 1461</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -134,7 +134,7 @@
|
||||
|
||||
<dt class="tag-source">Source:</dt>
|
||||
<dd class="tag-source"><ul class="dummy"><li>
|
||||
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line1384">line 1384</a>
|
||||
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line1472">line 1472</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -188,7 +188,7 @@
|
||||
|
||||
<dt class="tag-source">Source:</dt>
|
||||
<dd class="tag-source"><ul class="dummy"><li>
|
||||
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line1381">line 1381</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>
|
||||
|
||||
|
||||
@@ -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#line1681">line 1681</a>
|
||||
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line1788">line 1788</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -459,7 +459,7 @@
|
||||
|
||||
<dt class="tag-source">Source:</dt>
|
||||
<dd class="tag-source"><ul class="dummy"><li>
|
||||
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line1503">line 1503</a>
|
||||
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line1587">line 1587</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -528,7 +528,7 @@
|
||||
|
||||
<dt class="tag-source">Source:</dt>
|
||||
<dd class="tag-source"><ul class="dummy"><li>
|
||||
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line1751">line 1751</a>
|
||||
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line1864">line 1864</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -597,7 +597,7 @@
|
||||
|
||||
<dt class="tag-source">Source:</dt>
|
||||
<dd class="tag-source"><ul class="dummy"><li>
|
||||
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line1392">line 1392</a>
|
||||
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line1480">line 1480</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -756,7 +756,7 @@ alphabetical of the name
|
||||
|
||||
<dt class="tag-source">Source:</dt>
|
||||
<dd class="tag-source"><ul class="dummy"><li>
|
||||
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line1568">line 1568</a>
|
||||
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line1672">line 1672</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -843,7 +843,7 @@ alphabetical of the name
|
||||
|
||||
<dt class="tag-source">Source:</dt>
|
||||
<dd class="tag-source"><ul class="dummy"><li>
|
||||
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line1736">line 1736</a>
|
||||
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line1849">line 1849</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -960,7 +960,7 @@ alphabetical of the name
|
||||
|
||||
<dt class="tag-source">Source:</dt>
|
||||
<dd class="tag-source"><ul class="dummy"><li>
|
||||
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line1620">line 1620</a>
|
||||
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line1724">line 1724</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#line1611">line 1611</a>
|
||||
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line1715">line 1715</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -1216,7 +1216,7 @@ alphabetical of the name
|
||||
|
||||
<dt class="tag-source">Source:</dt>
|
||||
<dd class="tag-source"><ul class="dummy"><li>
|
||||
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line1641">line 1641</a>
|
||||
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line1745">line 1745</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -1351,7 +1351,7 @@ alphabetical of the name
|
||||
|
||||
<dt class="tag-source">Source:</dt>
|
||||
<dd class="tag-source"><ul class="dummy"><li>
|
||||
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line1601">line 1601</a>
|
||||
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line1705">line 1705</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -1397,7 +1397,7 @@ alphabetical of the name
|
||||
|
||||
|
||||
<dt>
|
||||
<h4 class="name" id="toggle"><span class="type-signature"><static> </span>toggle<span class="signature">(d)</span><span class="type-signature"></span></h4>
|
||||
<h4 class="name" id="toggle"><span class="type-signature"><static> </span>toggle<span class="signature">(state)</span><span class="type-signature"></span></h4>
|
||||
|
||||
|
||||
</dt>
|
||||
@@ -1439,13 +1439,13 @@ alphabetical of the name
|
||||
|
||||
<tr>
|
||||
|
||||
<td class="name"><code>d</code></td>
|
||||
<td class="name"><code>state</code></td>
|
||||
|
||||
|
||||
<td class="type">
|
||||
|
||||
|
||||
<span class="param-type">Integer</span>
|
||||
<span class="param-type">string</span>
|
||||
|
||||
|
||||
|
||||
@@ -1455,7 +1455,7 @@ alphabetical of the name
|
||||
|
||||
|
||||
|
||||
<td class="description last">Duration in ms</td>
|
||||
<td class="description last">Toggle to state</td>
|
||||
</tr>
|
||||
|
||||
|
||||
@@ -1486,7 +1486,7 @@ alphabetical of the name
|
||||
|
||||
<dt class="tag-source">Source:</dt>
|
||||
<dd class="tag-source"><ul class="dummy"><li>
|
||||
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line1709">line 1709</a>
|
||||
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line1816">line 1816</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -1527,13 +1527,13 @@ alphabetical of the name
|
||||
</div>
|
||||
|
||||
<nav>
|
||||
<h2><a href="index.html">Index</a></h2><h3>Namespaces</h3><ul><li><a href="jsxc.html">jsxc</a></li><li><a href="jsxc.gui.html">gui</a></li><li><a href="jsxc.gui.dialog.html">dialog</a></li><li><a href="jsxc.gui.queryActions.html">queryActions</a></li><li><a href="jsxc.gui.roster.html">roster</a></li><li><a href="jsxc.gui.window.html">window</a></li><li><a href="jsxc.muc.html">muc</a></li><li><a href="jsxc.notification.html">notification</a></li><li><a href="jsxc.options.html">options</a></li><li><a href="jsxc.otr.html">otr</a></li><li><a href="jsxc.storage.html">storage</a></li><li><a href="jsxc.webrtc.html">webrtc</a></li><li><a href="jsxc.xmpp.html">xmpp</a></li><li><a href="jsxc.xmpp.bookmarks.html">bookmarks</a></li><li><a href="jsxc.xmpp.carbons.html">carbons</a></li></ul><h3><a href="global.html">Global</a></h3>
|
||||
<h2><a href="index.html">Index</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.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>Global</h3><ul><li>{boolean}</li><li>{integer}</li><li>{string}</li></ul>
|
||||
</nav>
|
||||
|
||||
<br clear="both">
|
||||
|
||||
<footer>
|
||||
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.2.2</a> on Tue Nov 17 2015 17:01:04 GMT+0100 (CET)
|
||||
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.2.2</a> on Fri Mar 11 2016 17:32:12 GMT+0100 (CET)
|
||||
</footer>
|
||||
|
||||
<script> prettyPrint(); </script>
|
||||
|
||||
+778
-155
Diferenças do arquivo suprimidas por serem muito extensas
Carregar Diff
+206
-102
@@ -87,6 +87,16 @@
|
||||
|
||||
|
||||
|
||||
<h3 class="subsection-title">Classes</h3>
|
||||
|
||||
<dl>
|
||||
<dt><a href="jsxc.Message.html">Message</a></dt>
|
||||
<dd></dd>
|
||||
|
||||
<dt><a href="jsxc.Message.html">Message</a></dt>
|
||||
<dd></dd>
|
||||
</dl>
|
||||
|
||||
|
||||
|
||||
<h3 class="subsection-title">Namespaces</h3>
|
||||
@@ -322,7 +332,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#line170">line 170</a>
|
||||
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line174">line 174</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -502,14 +512,14 @@
|
||||
|
||||
|
||||
<dt>
|
||||
<h4 class="name" id="restore"><span class="type-signature"><static> </span>restore<span class="type-signature"></span></h4>
|
||||
<h4 class="name" id="reconnect"><span class="type-signature"><static> </span>reconnect<span class="type-signature"></span></h4>
|
||||
|
||||
|
||||
</dt>
|
||||
<dd>
|
||||
|
||||
<div class="description">
|
||||
True if last activity was up to 10 min ago
|
||||
True if jid, sid and rid was used to connect
|
||||
</div>
|
||||
|
||||
|
||||
@@ -1210,75 +1220,6 @@ workaround) 0: conform, 1: not conform, 2: not shure
|
||||
|
||||
<dl>
|
||||
|
||||
<dt>
|
||||
<h4 class="name" id="_onMaster"><span class="type-signature"><static> </span>_onMaster<span class="signature">()</span><span class="type-signature"></span></h4>
|
||||
|
||||
|
||||
</dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<div class="description">
|
||||
Second half of the onMaster routine
|
||||
</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#line503">line 503</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</dl>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</dd>
|
||||
|
||||
|
||||
|
||||
<dt>
|
||||
<h4 class="name" id="_prepareLogin"><span class="type-signature"><private, static> </span>_prepareLogin<span class="signature">(username, password, cb, <span class="optional">loadedSettings</span>)</span><span class="type-signature"></span></h4>
|
||||
|
||||
@@ -1474,7 +1415,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#line397">line 397</a>
|
||||
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line455">line 455</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -1543,7 +1484,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#line548">line 548</a>
|
||||
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line558">line 558</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -1706,7 +1647,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#line117">line 117</a>
|
||||
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line121">line 121</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -1823,7 +1764,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#line606">line 606</a>
|
||||
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line640">line 640</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -1981,7 +1922,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#line165">line 165</a>
|
||||
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line169">line 169</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -2050,7 +1991,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#line709">line 709</a>
|
||||
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line743">line 743</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -2190,7 +2131,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#line804">line 804</a>
|
||||
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line838">line 838</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -2317,7 +2258,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#line89">line 89</a>
|
||||
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line91">line 91</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -2396,7 +2337,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#line780">line 780</a>
|
||||
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line814">line 814</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -2535,7 +2476,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#line824">line 824</a>
|
||||
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line858">line 858</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -2674,7 +2615,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#line178">line 178</a>
|
||||
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line182">line 182</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -2743,7 +2684,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#line752">line 752</a>
|
||||
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line786">line 786</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -2834,7 +2775,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#line348">line 348</a>
|
||||
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line406">line 406</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -2968,7 +2909,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#line631">line 631</a>
|
||||
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line665">line 665</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -3095,7 +3036,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#line616">line 616</a>
|
||||
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line650">line 650</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -3186,7 +3127,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#line565">line 565</a>
|
||||
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line603">line 603</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -3256,7 +3197,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#line577">line 577</a>
|
||||
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line611">line 611</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -3325,7 +3266,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#line477">line 477</a>
|
||||
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line538">line 538</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -3394,7 +3335,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#line462">line 462</a>
|
||||
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line520">line 520</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -3557,7 +3498,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#line360">line 360</a>
|
||||
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line418">line 418</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -3674,7 +3615,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#line596">line 596</a>
|
||||
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line630">line 630</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -3808,7 +3749,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#line721">line 721</a>
|
||||
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line755">line 755</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -3887,7 +3828,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#line638">line 638</a>
|
||||
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line672">line 672</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -3956,7 +3897,170 @@ 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#line660">line 660</a>
|
||||
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line694">line 694</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</dl>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</dd>
|
||||
|
||||
|
||||
|
||||
<dt>
|
||||
<h4 class="name" id="start"><span class="type-signature"><static> </span>start<span class="signature">(jid, sid, rid)</span><span class="type-signature"></span></h4>
|
||||
|
||||
|
||||
</dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<div class="description">
|
||||
Attach to new chat session with jid, sid and rid.
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<h5>Parameters:</h5>
|
||||
|
||||
|
||||
<table class="params">
|
||||
<thead>
|
||||
<tr>
|
||||
|
||||
<th>Name</th>
|
||||
|
||||
|
||||
<th>Type</th>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<th class="last">Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
|
||||
<tbody>
|
||||
|
||||
|
||||
<tr>
|
||||
|
||||
<td class="name"><code>jid</code></td>
|
||||
|
||||
|
||||
<td class="type">
|
||||
|
||||
|
||||
<span class="param-type">string</span>
|
||||
|
||||
|
||||
|
||||
</td>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<td class="description last">Jabber Id</td>
|
||||
</tr>
|
||||
|
||||
|
||||
|
||||
<tr>
|
||||
|
||||
<td class="name"><code>sid</code></td>
|
||||
|
||||
|
||||
<td class="type">
|
||||
|
||||
|
||||
<span class="param-type">string</span>
|
||||
|
||||
|
||||
|
||||
</td>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<td class="description last">Session Id</td>
|
||||
</tr>
|
||||
|
||||
|
||||
|
||||
<tr>
|
||||
|
||||
<td class="name"><code>rid</code></td>
|
||||
|
||||
|
||||
<td class="type">
|
||||
|
||||
|
||||
<span class="param-type">string</span>
|
||||
|
||||
|
||||
|
||||
</td>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<td class="description last">Request Id</td>
|
||||
</tr>
|
||||
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
|
||||
|
||||
<dl class="details">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<dt class="tag-source">Source:</dt>
|
||||
<dd class="tag-source"><ul class="dummy"><li>
|
||||
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line375">line 375</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -4025,7 +4129,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#line558">line 558</a>
|
||||
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line596">line 596</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -4094,7 +4198,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#line690">line 690</a>
|
||||
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line724">line 724</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -4234,7 +4338,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#line732">line 732</a>
|
||||
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line766">line 766</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -4396,7 +4500,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#line154">line 154</a>
|
||||
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line158">line 158</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -4437,13 +4541,13 @@ normal signal
|
||||
</div>
|
||||
|
||||
<nav>
|
||||
<h2><a href="index.html">Index</a></h2><h3>Namespaces</h3><ul><li><a href="jsxc.html">jsxc</a></li><li><a href="jsxc.gui.html">gui</a></li><li><a href="jsxc.gui.dialog.html">dialog</a></li><li><a href="jsxc.gui.queryActions.html">queryActions</a></li><li><a href="jsxc.gui.roster.html">roster</a></li><li><a href="jsxc.gui.window.html">window</a></li><li><a href="jsxc.muc.html">muc</a></li><li><a href="jsxc.notification.html">notification</a></li><li><a href="jsxc.options.html">options</a></li><li><a href="jsxc.otr.html">otr</a></li><li><a href="jsxc.storage.html">storage</a></li><li><a href="jsxc.webrtc.html">webrtc</a></li><li><a href="jsxc.xmpp.html">xmpp</a></li><li><a href="jsxc.xmpp.bookmarks.html">bookmarks</a></li><li><a href="jsxc.xmpp.carbons.html">carbons</a></li></ul><h3><a href="global.html">Global</a></h3>
|
||||
<h2><a href="index.html">Index</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.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>Global</h3><ul><li>{boolean}</li><li>{integer}</li><li>{string}</li></ul>
|
||||
</nav>
|
||||
|
||||
<br clear="both">
|
||||
|
||||
<footer>
|
||||
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.2.2</a> on Tue Nov 17 2015 17:01:04 GMT+0100 (CET)
|
||||
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.2.2</a> on Fri Mar 11 2016 17:32:12 GMT+0100 (CET)
|
||||
</footer>
|
||||
|
||||
<script> prettyPrint(); </script>
|
||||
|
||||
@@ -0,0 +1,311 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>JSDoc: Source: jsxc.lib.Message.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.Message.js</h1>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<section>
|
||||
<article>
|
||||
<pre class="prettyprint source"><code>/**
|
||||
* Load message object with given uid.
|
||||
*
|
||||
* @class Message
|
||||
* @memberOf jsxc
|
||||
* @param {string} uid Unified identifier from message object
|
||||
*/
|
||||
/**
|
||||
* Create new message object.
|
||||
*
|
||||
* @class Message
|
||||
* @memberOf jsxc
|
||||
* @param {object} args New message properties
|
||||
* @param {string} args.bid
|
||||
* @param {direction} args.direction
|
||||
* @param {string} args.msg
|
||||
* @param {boolean} args.encrypted
|
||||
* @param {boolean} args.forwarded
|
||||
* @param {boolean} args.sender
|
||||
* @param {integer} args.stamp
|
||||
* @param {object} args.attachment Attached data
|
||||
* @param {string} args.attachment.name File name
|
||||
* @param {string} args.attachment.size File size
|
||||
* @param {string} args.attachment.type File type
|
||||
* @param {string} args.attachment.data File data
|
||||
*/
|
||||
|
||||
jsxc.Message = function() {
|
||||
|
||||
/** @member {string} */
|
||||
this._uid = null;
|
||||
|
||||
/** @member {boolean} */
|
||||
this._received = false;
|
||||
|
||||
/** @member {boolean} */
|
||||
this.encrypted = false;
|
||||
|
||||
/** @member {boolean} */
|
||||
this.forwarded = false;
|
||||
|
||||
/** @member {integer} */
|
||||
this.stamp = new Date().getTime();
|
||||
|
||||
if (typeof arguments[0] === 'string' && arguments[0].length > 0 && arguments.length === 1) {
|
||||
this._uid = arguments[0];
|
||||
|
||||
this.load(this._uid);
|
||||
} else if (typeof arguments[0] === 'object' && arguments[0] !== null) {
|
||||
$.extend(this, arguments[0]);
|
||||
}
|
||||
|
||||
if (!this._uid) {
|
||||
this._uid = new Date().getTime() + ':msg';
|
||||
}
|
||||
};
|
||||
|
||||
/**
|
||||
* Load message properties.
|
||||
*
|
||||
* @memberof jsxc.Message
|
||||
* @param {string} uid
|
||||
*/
|
||||
jsxc.Message.prototype.load = function(uid) {
|
||||
var data = jsxc.storage.getUserItem('msg', uid);
|
||||
|
||||
if (!data) {
|
||||
jsxc.debug('Could not load message with uid ' + uid);
|
||||
}
|
||||
|
||||
$.extend(this, data);
|
||||
};
|
||||
|
||||
/**
|
||||
* Save message properties and create thumbnail.
|
||||
*
|
||||
* @memberOf jsxc.Message
|
||||
* @return {Message} this object
|
||||
*/
|
||||
jsxc.Message.prototype.save = function() {
|
||||
var history;
|
||||
|
||||
if (this.bid) {
|
||||
history = jsxc.storage.getUserItem('history', this.bid) || [];
|
||||
|
||||
if (history.indexOf(this._uid) < 0) {
|
||||
if (history.length > jsxc.options.get('numberOfMsg')) {
|
||||
jsxc.Message.delete(history.pop());
|
||||
}
|
||||
} else {
|
||||
history = null;
|
||||
}
|
||||
}
|
||||
|
||||
if (Image && this.attachment && this.attachment.type.match(/^image\//i) && this.attachment.data) {
|
||||
var sHeight, sWidth, sx, sy;
|
||||
var dHeight = 100,
|
||||
dWidth = 100;
|
||||
var canvas = $("<canvas>").get(0);
|
||||
|
||||
canvas.width = dWidth;
|
||||
canvas.height = dHeight;
|
||||
|
||||
var ctx = canvas.getContext("2d");
|
||||
var img = new Image();
|
||||
|
||||
img.src = this.attachment.data;
|
||||
|
||||
if (img.height > img.width) {
|
||||
sHeight = img.width;
|
||||
sWidth = img.width;
|
||||
sx = 0;
|
||||
sy = (img.height - img.width) / 2;
|
||||
} else {
|
||||
sHeight = img.height;
|
||||
sWidth = img.height;
|
||||
sx = (img.width - img.height) / 2;
|
||||
sy = 0;
|
||||
}
|
||||
|
||||
ctx.drawImage(img, sx, sy, sWidth, sHeight, 0, 0, dWidth, dHeight);
|
||||
|
||||
this.attachment.thumbnail = canvas.toDataURL();
|
||||
|
||||
if (this.direction === 'out') {
|
||||
// save storage
|
||||
this.attachment.data = null;
|
||||
}
|
||||
}
|
||||
|
||||
var data;
|
||||
|
||||
if (this.attachment && this.attachment.size > jsxc.options.maxStorableSize && this.direction === 'in') {
|
||||
jsxc.debug('Attachment to large to store');
|
||||
|
||||
data = this.attachment.data;
|
||||
this.attachment.data = null;
|
||||
this.attachment.persistent = false;
|
||||
|
||||
//@TODO inform user
|
||||
}
|
||||
|
||||
jsxc.storage.setUserItem('msg', this._uid, this);
|
||||
|
||||
if (history) {
|
||||
history.unshift(this._uid);
|
||||
|
||||
jsxc.storage.setUserItem('history', this.bid, history);
|
||||
}
|
||||
|
||||
if (data && this.attachment) {
|
||||
this.attachment.data = data;
|
||||
}
|
||||
|
||||
return this;
|
||||
};
|
||||
|
||||
/**
|
||||
* Remove object from storage.
|
||||
*
|
||||
* @memberOf jsxc.Message
|
||||
*/
|
||||
jsxc.Message.prototype.delete = function() {
|
||||
jsxc.Message.delete(this._uid);
|
||||
};
|
||||
|
||||
/**
|
||||
* Returns object as jquery object.
|
||||
*
|
||||
* @memberOf jsxc.Message
|
||||
* @return {jQuery} Representation in DOM
|
||||
*/
|
||||
jsxc.Message.prototype.getDOM = function() {
|
||||
return jsxc.Message.getDOM(this._uid);
|
||||
};
|
||||
|
||||
/**
|
||||
* Mark message as received.
|
||||
*
|
||||
* @memberOf jsxc.Message
|
||||
*/
|
||||
jsxc.Message.prototype.received = function() {
|
||||
this._received = true;
|
||||
this.save();
|
||||
|
||||
this.getDOM().addClass('jsxc_received');
|
||||
};
|
||||
|
||||
/**
|
||||
* Returns true if the message was already received.
|
||||
*
|
||||
* @memberOf jsxc.Message
|
||||
* @return {boolean} true means received
|
||||
*/
|
||||
jsxc.Message.prototype.isReceived = function() {
|
||||
return this._received;
|
||||
};
|
||||
|
||||
/**
|
||||
* Remove message with uid.
|
||||
*
|
||||
* @memberOf jsxc.Message
|
||||
* @static
|
||||
* @param {string} uid message uid
|
||||
*/
|
||||
jsxc.Message.delete = function(uid) {
|
||||
var data = jsxc.storage.getUserItem('msg', uid);
|
||||
|
||||
if (data) {
|
||||
jsxc.storage.removeUserItem('msg', uid);
|
||||
|
||||
if (data.bid) {
|
||||
var history = jsxc.storage.getUserItem('history', data.bid) || [];
|
||||
|
||||
history = $.grep(history, function(el) {
|
||||
return el !== uid;
|
||||
});
|
||||
|
||||
jsxc.storage.setUserItem('history', data.bid);
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
/**
|
||||
* Returns message object as jquery object.
|
||||
*
|
||||
* @memberOf jsxc.Message
|
||||
* @static
|
||||
* @param {string} uid message uid
|
||||
* @return {jQuery} jQuery representation in DOM
|
||||
*/
|
||||
jsxc.Message.getDOM = function(uid) {
|
||||
return $('#' + uid.replace(/:/g, '-'));
|
||||
};
|
||||
|
||||
/**
|
||||
* Message direction can be incoming, outgoing or system.
|
||||
*
|
||||
* @typedef {(jsxc.Message.IN|jsxc.Message.OUT|jsxc.Message.SYS)} direction
|
||||
*/
|
||||
|
||||
/**
|
||||
* @constant
|
||||
* @type {string}
|
||||
* @default
|
||||
*/
|
||||
jsxc.Message.IN = 'in';
|
||||
|
||||
/**
|
||||
* @constant
|
||||
* @type {string}
|
||||
* @default
|
||||
*/
|
||||
jsxc.Message.OUT = 'out';
|
||||
|
||||
/**
|
||||
* @constant
|
||||
* @type {string}
|
||||
* @default
|
||||
*/
|
||||
jsxc.Message.SYS = 'sys';
|
||||
</code></pre>
|
||||
</article>
|
||||
</section>
|
||||
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<nav>
|
||||
<h2><a href="index.html">Index</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.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>Global</h3><ul><li>{boolean}</li><li>{integer}</li><li>{string}</li></ul>
|
||||
</nav>
|
||||
|
||||
<br clear="both">
|
||||
|
||||
<footer>
|
||||
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.2.2</a> on Fri Mar 11 2016 17:32:12 GMT+0100 (CET)
|
||||
</footer>
|
||||
|
||||
<script> prettyPrint(); </script>
|
||||
<script src="scripts/linenumber.js"> </script>
|
||||
</body>
|
||||
</html>
|
||||
+805
-221
Diferenças do arquivo suprimidas por serem muito extensas
Carregar Diff
+128
-90
@@ -55,8 +55,8 @@ jsxc = {
|
||||
/** Interval for keep-alive */
|
||||
keepalive: null,
|
||||
|
||||
/** True if last activity was up to 10 min ago */
|
||||
restore: false,
|
||||
/** True if jid, sid and rid was used to connect */
|
||||
reconnect: false,
|
||||
|
||||
/** True if restore is complete */
|
||||
restoreCompleted: false,
|
||||
@@ -98,12 +98,14 @@ jsxc = {
|
||||
},
|
||||
REGEX: {
|
||||
JID: new RegExp('\\b[^"&\'\\/:<>@\\s]+@[\\w-_.]+\\b', 'ig'),
|
||||
URL: new RegExp(/((?:https?:\/\/|www\.|([\w\-]+\.[a-zA-Z]{2,3})(?=\b))(?:(?:[\-A-Za-z0-9+&@#\/%?=~_|!:,.;]*\([\-A-Za-z0-9+&@#\/%?=~_|!:,.;]*\)([\-A-Za-z0-9+&@#\/%?=~_|!:,.;]*[\-A-Za-z0-9+&@#\/%=~_|])?)|(?:[\-A-Za-z0-9+&@#\/%?=~_|!:,.;]*[\-A-Za-z0-9+&@#\/%=~_|]))?)/gi)
|
||||
URL: new RegExp(/(https?:\/\/|www\.)[^\s<>'"]+/gi)
|
||||
},
|
||||
NS: {
|
||||
CARBONS: 'urn:xmpp:carbons:2',
|
||||
FORWARD: 'urn:xmpp:forward:0'
|
||||
}
|
||||
},
|
||||
HIDDEN: 'hidden',
|
||||
SHOWN: 'shown'
|
||||
},
|
||||
|
||||
/**
|
||||
@@ -115,20 +117,22 @@ jsxc = {
|
||||
*/
|
||||
getFormattedTime: function(unixtime) {
|
||||
var msgDate = new Date(parseInt(unixtime));
|
||||
var date = ('0' + msgDate.getDate()).slice(-2);
|
||||
var day = ('0' + msgDate.getDate()).slice(-2);
|
||||
var month = ('0' + (msgDate.getMonth() + 1)).slice(-2);
|
||||
var year = msgDate.getFullYear();
|
||||
var hours = ('0' + msgDate.getHours()).slice(-2);
|
||||
var minutes = ('0' + msgDate.getMinutes()).slice(-2);
|
||||
var dateNow = new Date(),
|
||||
time = hours + ':' + minutes;
|
||||
var dateNow = new Date();
|
||||
|
||||
var date = (typeof msgDate.toLocaleDateString === 'function') ? msgDate.toLocaleDateString() : day + '.' + month + '.' + year;
|
||||
var time = (typeof msgDate.toLocaleTimeString === 'function') ? msgDate.toLocaleTimeString() : hours + ':' + minutes;
|
||||
|
||||
// compare dates only
|
||||
dateNow.setHours(0, 0, 0, 0);
|
||||
msgDate.setHours(0, 0, 0, 0);
|
||||
|
||||
if (dateNow.getTime() !== msgDate.getTime()) {
|
||||
return date + '.' + month + '.' + year + ' ' + time;
|
||||
return date + ' ' + time;
|
||||
}
|
||||
return time;
|
||||
},
|
||||
@@ -164,10 +168,10 @@ jsxc = {
|
||||
}
|
||||
}
|
||||
|
||||
jsxc.log = jsxc.log + msg + ': ' + d + '\n';
|
||||
jsxc.log = jsxc.log + '$ ' + msg + ': ' + d + '\n';
|
||||
} else {
|
||||
console.log(msg);
|
||||
jsxc.log = jsxc.log + msg + '\n';
|
||||
jsxc.log = jsxc.log + '$ ' + msg + '\n';
|
||||
}
|
||||
},
|
||||
|
||||
@@ -204,6 +208,11 @@ jsxc = {
|
||||
*/
|
||||
init: function(options) {
|
||||
|
||||
if (options && options.loginForm && typeof options.loginForm.attachIfFound === 'boolean' && !options.loginForm.ifFound) {
|
||||
// translate deprated option attachIfFound found to new ifFound
|
||||
options.loginForm.ifFound = (options.loginForm.attachIfFound) ? 'attach' : 'pause';
|
||||
}
|
||||
|
||||
if (options) {
|
||||
// override default options
|
||||
$.extend(true, jsxc.options, options);
|
||||
@@ -222,9 +231,13 @@ jsxc = {
|
||||
* @returns default or saved option value
|
||||
*/
|
||||
jsxc.options.get = function(key) {
|
||||
var local = jsxc.storage.getUserItem('options') || {};
|
||||
if (jsxc.bid) {
|
||||
var local = jsxc.storage.getUserItem('options') || {};
|
||||
|
||||
return local[key] || jsxc.options[key];
|
||||
return local[key] || jsxc.options[key];
|
||||
}
|
||||
|
||||
return jsxc.options[key];
|
||||
};
|
||||
|
||||
/**
|
||||
@@ -260,6 +273,7 @@ jsxc = {
|
||||
// use localStorage and set expiration to a day
|
||||
useLocalStorage: true,
|
||||
localStorageExpirationTime: 60 * 60 * 24 * 1000,
|
||||
debug: jsxc.storage.getItem('debug') === true
|
||||
});
|
||||
|
||||
if (jsxc.storage.getItem('debug') === true) {
|
||||
@@ -269,19 +283,21 @@ jsxc = {
|
||||
// Register event listener for the storage event
|
||||
window.addEventListener('storage', jsxc.storage.onStorage, false);
|
||||
|
||||
var lastActivity = jsxc.storage.getItem('lastActivity') || 0;
|
||||
|
||||
if ((new Date()).getTime() - lastActivity < jsxc.options.loginTimeout) {
|
||||
jsxc.restore = true;
|
||||
}
|
||||
|
||||
$(document).on('connectionReady.jsxc', function() {
|
||||
$(document).on('attached.jsxc', function() {
|
||||
// Looking for logout element
|
||||
if (jsxc.options.logoutElement !== null && jsxc.options.logoutElement.length > 0) {
|
||||
var logout = function() {
|
||||
var logout = function(ev) {
|
||||
if (!jsxc.xmpp.conn || !jsxc.xmpp.conn.authenticated) {
|
||||
return;
|
||||
}
|
||||
|
||||
ev.stopPropagation();
|
||||
ev.preventDefault();
|
||||
|
||||
jsxc.options.logoutElement = $(this);
|
||||
jsxc.triggeredFromLogout = true;
|
||||
return jsxc.xmpp.logout();
|
||||
|
||||
jsxc.xmpp.logout();
|
||||
};
|
||||
|
||||
jsxc.options.logoutElement.off('click', null, logout).one('click', logout);
|
||||
@@ -289,7 +305,7 @@ jsxc = {
|
||||
});
|
||||
|
||||
// Check if we have to establish a new connection
|
||||
if (!jsxc.storage.getItem('rid') || !jsxc.storage.getItem('sid') || !jsxc.restore) {
|
||||
if (!(jsxc.storage.getItem('rid') && jsxc.storage.getItem('sid') && jsxc.storage.getItem('jid')) || (jsxc.options.loginForm && jsxc.options.loginForm.ifFound === 'force' && jsxc.isLoginForm())) {
|
||||
|
||||
// clean up rid and sid
|
||||
jsxc.storage.removeItem('rid');
|
||||
@@ -339,7 +355,7 @@ jsxc = {
|
||||
if (enabled) {
|
||||
jsxc.options.loginForm.triggered = true;
|
||||
|
||||
jsxc.xmpp.login();
|
||||
jsxc.xmpp.login(jsxc.options.xmpp.jid, jsxc.options.xmpp.password);
|
||||
}
|
||||
} else {
|
||||
jsxc.submitLoginForm();
|
||||
@@ -350,15 +366,11 @@ jsxc = {
|
||||
return false;
|
||||
});
|
||||
|
||||
} else if (!jsxc.isLoginForm() || (jsxc.options.loginForm && jsxc.options.loginForm.attachIfFound)) {
|
||||
} else if (!jsxc.isLoginForm() || (jsxc.options.loginForm && jsxc.options.loginForm.ifFound === 'attach')) {
|
||||
|
||||
// Restore old connection
|
||||
|
||||
jsxc.bid = jsxc.jidToBid(jsxc.storage.getItem('jid'));
|
||||
|
||||
jsxc.gui.init();
|
||||
|
||||
if (typeof(jsxc.storage.getItem('alive')) === 'undefined' || !jsxc.restore) {
|
||||
if (typeof(jsxc.storage.getItem('alive')) === 'undefined') {
|
||||
jsxc.onMaster();
|
||||
} else {
|
||||
jsxc.checkMaster();
|
||||
@@ -366,6 +378,52 @@ jsxc = {
|
||||
}
|
||||
},
|
||||
|
||||
/**
|
||||
* Attach to previous session if jid, sid and rid are available in storage
|
||||
* (default behaviour also for {@link jsxc.init}). Otherwise try to start new session
|
||||
* with given jid and password in jsxc.options.xmpp.
|
||||
*
|
||||
* @memberOf jsxc
|
||||
*/
|
||||
/**
|
||||
* Start new chat session with given jid and password.
|
||||
*
|
||||
* @memberOf jsxc
|
||||
* @param {string} jid Jabber Id
|
||||
*/
|
||||
/**
|
||||
* Attach to new chat session with jid, sid and rid.
|
||||
*
|
||||
* @memberOf jsxc
|
||||
* @param {string} jid Jabber Id
|
||||
* @param {string} sid Session Id
|
||||
* @param {string} rid Request Id
|
||||
*/
|
||||
start: function() {
|
||||
if (jsxc.role_allocation && !jsxc.master) {
|
||||
jsxc.debug('There is an other master tab');
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
if (jsxc.xmpp.conn && jsxc.xmpp.connected) {
|
||||
jsxc.debug('We are already connected');
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
if (arguments.length === 3) {
|
||||
$(document).one('attached.jsxc', function() {
|
||||
// save rid after first attachment
|
||||
jsxc.xmpp.onRidChange(jsxc.xmpp.conn._proto.rid);
|
||||
|
||||
jsxc.onMaster();
|
||||
});
|
||||
}
|
||||
|
||||
jsxc.xmpp.login.apply(this, arguments);
|
||||
},
|
||||
|
||||
/**
|
||||
* Returns true if login form is found.
|
||||
*
|
||||
@@ -490,6 +548,9 @@ jsxc = {
|
||||
jsxc.debug('I am the slave.');
|
||||
|
||||
jsxc.role_allocation = true;
|
||||
jsxc.bid = jsxc.jidToBid(jsxc.storage.getItem('jid'));
|
||||
|
||||
jsxc.gui.init();
|
||||
|
||||
jsxc.restoreRoster();
|
||||
jsxc.restoreWindows();
|
||||
@@ -509,63 +570,12 @@ jsxc = {
|
||||
// Init local storage
|
||||
jsxc.storage.setItem('alive', 0);
|
||||
jsxc.storage.setItem('alive_busy', 0);
|
||||
if (!jsxc.storage.getUserItem('windowlist')) {
|
||||
jsxc.storage.setUserItem('windowlist', []);
|
||||
}
|
||||
|
||||
// Sending keepalive signal
|
||||
jsxc.startKeepAlive();
|
||||
|
||||
if (jsxc.options.get('otr').enable) {
|
||||
// create or load DSA key and call _onMaster
|
||||
jsxc.otr.createDSA();
|
||||
} else {
|
||||
jsxc._onMaster();
|
||||
}
|
||||
},
|
||||
|
||||
/**
|
||||
* Second half of the onMaster routine
|
||||
*/
|
||||
_onMaster: function() {
|
||||
|
||||
// create otr objects, if we lost the master
|
||||
if (jsxc.role_allocation) {
|
||||
$.each(jsxc.storage.getUserItem('windowlist'), function(index, val) {
|
||||
jsxc.otr.create(val);
|
||||
});
|
||||
}
|
||||
|
||||
jsxc.role_allocation = true;
|
||||
|
||||
if (jsxc.restore && !jsxc.restoreCompleted) {
|
||||
jsxc.restoreRoster();
|
||||
jsxc.restoreWindows();
|
||||
jsxc.restoreCompleted = true;
|
||||
|
||||
$(document).trigger('restoreCompleted.jsxc');
|
||||
}
|
||||
|
||||
// Prepare notifications
|
||||
if (jsxc.restore) {
|
||||
var noti = jsxc.storage.getUserItem('notification');
|
||||
noti = (typeof noti === 'number') ? noti : 2;
|
||||
if (jsxc.options.notification && noti > 0 && jsxc.notification.hasSupport()) {
|
||||
if (jsxc.notification.hasPermission()) {
|
||||
jsxc.notification.init();
|
||||
} else {
|
||||
jsxc.notification.prepareRequest();
|
||||
}
|
||||
} else {
|
||||
// No support => disable
|
||||
jsxc.options.notification = false;
|
||||
}
|
||||
}
|
||||
|
||||
$(document).on('connectionReady.jsxc', function() {
|
||||
jsxc.gui.updateAvatar($('#jsxc_avatar'), jsxc.jidToBid(jsxc.storage.getItem('jid')), 'own');
|
||||
});
|
||||
|
||||
jsxc.xmpp.login();
|
||||
},
|
||||
|
||||
@@ -579,6 +589,34 @@ jsxc = {
|
||||
jsxc.storage.ink('alive');
|
||||
},
|
||||
|
||||
masterActions: function() {
|
||||
|
||||
if (!jsxc.xmpp.conn || !jsxc.xmpp.conn.authenticated) {
|
||||
return;
|
||||
}
|
||||
|
||||
//prepare notifications
|
||||
var noti = jsxc.storage.getUserItem('notification');
|
||||
noti = (typeof noti === 'number') ? noti : 2;
|
||||
if (jsxc.options.notification && noti > 0 && jsxc.notification.hasSupport()) {
|
||||
if (jsxc.notification.hasPermission()) {
|
||||
jsxc.notification.init();
|
||||
} else {
|
||||
jsxc.notification.prepareRequest();
|
||||
}
|
||||
} else {
|
||||
// No support => disable
|
||||
jsxc.options.notification = false;
|
||||
}
|
||||
|
||||
if (jsxc.options.get('otr').enable) {
|
||||
// create or load DSA key
|
||||
jsxc.otr.createDSA();
|
||||
}
|
||||
|
||||
jsxc.gui.updateAvatar($('#jsxc_roster > .jsxc_bottom'), jsxc.jidToBid(jsxc.storage.getItem('jid')), 'own');
|
||||
},
|
||||
|
||||
/**
|
||||
* Start sending keep-alive signal
|
||||
*/
|
||||
@@ -591,10 +629,6 @@ jsxc = {
|
||||
*/
|
||||
keepAlive: function() {
|
||||
jsxc.storage.ink('alive');
|
||||
|
||||
if (jsxc.role_allocation) {
|
||||
jsxc.storage.setItem('lastActivity', (new Date()).getTime());
|
||||
}
|
||||
},
|
||||
|
||||
/**
|
||||
@@ -692,22 +726,22 @@ jsxc = {
|
||||
}
|
||||
|
||||
$.each(windows, function(index, bid) {
|
||||
var window = jsxc.storage.getUserItem('window', bid);
|
||||
var win = jsxc.storage.getUserItem('window', bid);
|
||||
|
||||
if (!window) {
|
||||
if (!win) {
|
||||
jsxc.debug('Associated window-element is missing: ' + bid);
|
||||
return true;
|
||||
}
|
||||
|
||||
jsxc.gui.window.init(bid);
|
||||
|
||||
if (!window.minimize) {
|
||||
if (!win.minimize) {
|
||||
jsxc.gui.window.show(bid);
|
||||
} else {
|
||||
jsxc.gui.window.hide(bid);
|
||||
}
|
||||
|
||||
jsxc.gui.window.setText(bid, window.text);
|
||||
jsxc.gui.window.setText(bid, win.text);
|
||||
});
|
||||
},
|
||||
|
||||
@@ -862,6 +896,10 @@ jsxc = {
|
||||
}
|
||||
|
||||
return hash;
|
||||
},
|
||||
|
||||
isExtraSmallDevice: function() {
|
||||
return $(window).width() < 500;
|
||||
}
|
||||
};
|
||||
</code></pre>
|
||||
@@ -874,13 +912,13 @@ jsxc = {
|
||||
</div>
|
||||
|
||||
<nav>
|
||||
<h2><a href="index.html">Index</a></h2><h3>Namespaces</h3><ul><li><a href="jsxc.html">jsxc</a></li><li><a href="jsxc.gui.html">gui</a></li><li><a href="jsxc.gui.dialog.html">dialog</a></li><li><a href="jsxc.gui.queryActions.html">queryActions</a></li><li><a href="jsxc.gui.roster.html">roster</a></li><li><a href="jsxc.gui.window.html">window</a></li><li><a href="jsxc.muc.html">muc</a></li><li><a href="jsxc.notification.html">notification</a></li><li><a href="jsxc.options.html">options</a></li><li><a href="jsxc.otr.html">otr</a></li><li><a href="jsxc.storage.html">storage</a></li><li><a href="jsxc.webrtc.html">webrtc</a></li><li><a href="jsxc.xmpp.html">xmpp</a></li><li><a href="jsxc.xmpp.bookmarks.html">bookmarks</a></li><li><a href="jsxc.xmpp.carbons.html">carbons</a></li></ul><h3><a href="global.html">Global</a></h3>
|
||||
<h2><a href="index.html">Index</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.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>Global</h3><ul><li>{boolean}</li><li>{integer}</li><li>{string}</li></ul>
|
||||
</nav>
|
||||
|
||||
<br clear="both">
|
||||
|
||||
<footer>
|
||||
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.2.2</a> on Tue Nov 17 2015 17:01:04 GMT+0100 (CET)
|
||||
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.2.2</a> on Fri Mar 11 2016 17:32:12 GMT+0100 (CET)
|
||||
</footer>
|
||||
|
||||
<script> prettyPrint(); </script>
|
||||
|
||||
+184
-78
@@ -130,11 +130,11 @@ jsxc.muc = {
|
||||
* @memberOf jsxc.muc
|
||||
*/
|
||||
initMenu: function() {
|
||||
var li = $('<li>').attr('class', 'jsxc_joinChat').text($.t('Join_chat'));
|
||||
var li = $('<li>').attr('class', 'jsxc_joinChat jsxc_groupcontacticon').text($.t('Join_chat'));
|
||||
|
||||
li.click(jsxc.muc.showJoinChat);
|
||||
|
||||
$('#jsxc_menu ul').append(li);
|
||||
$('#jsxc_menu ul .jsxc_about').before(li);
|
||||
},
|
||||
|
||||
/**
|
||||
@@ -307,6 +307,10 @@ jsxc.muc = {
|
||||
var bookmark = $("#jsxc_bookmark").prop("checked");
|
||||
var autojoin = $('#jsxc_autojoin').prop('checked');
|
||||
|
||||
// clean up
|
||||
jsxc.gui.window.clear(room);
|
||||
jsxc.storage.setUserItem('member', room, {});
|
||||
|
||||
self.join(room, nickname, password, roomName, subject, bookmark, autojoin);
|
||||
|
||||
return false;
|
||||
@@ -551,7 +555,11 @@ jsxc.muc = {
|
||||
var roomdata = jsxc.storage.getUserItem('buddy', room);
|
||||
|
||||
jsxc.storage.updateUserItem('buddy', room, 'state', self.CONST.ROOMSTATE.AWAIT_DESTRUCTION);
|
||||
jsxc.gui.window.postMessage(room, 'sys', $.t('This_room_will_be_closed'));
|
||||
jsxc.gui.window.postMessage({
|
||||
bid: room,
|
||||
direction: jsxc.Message.SYS,
|
||||
msg: $.t('This_room_will_be_closed')
|
||||
});
|
||||
|
||||
var iq = $iq({
|
||||
to: room,
|
||||
@@ -607,17 +615,18 @@ jsxc.muc = {
|
||||
*/
|
||||
initWindow: function(event, win) {
|
||||
var self = jsxc.muc;
|
||||
var data = win.data();
|
||||
var bid = jsxc.jidToBid(data.jid);
|
||||
var roomdata = jsxc.storage.getUserItem('buddy', bid);
|
||||
|
||||
if (!jsxc.xmpp.conn) {
|
||||
$(document).one('connectionReady.jsxc', function() {
|
||||
$(document).one('attached.jsxc', function() {
|
||||
self.initWindow(null, win);
|
||||
});
|
||||
return;
|
||||
}
|
||||
|
||||
var data = win.data();
|
||||
var bid = jsxc.jidToBid(data.jid);
|
||||
var roomdata = jsxc.storage.getUserItem('buddy', bid);
|
||||
|
||||
if (roomdata.type !== 'groupchat') {
|
||||
return;
|
||||
}
|
||||
@@ -628,7 +637,7 @@ jsxc.muc = {
|
||||
var ownNickname = own[bid];
|
||||
var mlIcon = $('<div class="jsxc_members"></div>');
|
||||
|
||||
win.find('.jsxc_tools > .jsxc_transfer').after(mlIcon);
|
||||
win.find('.jsxc_tools > .jsxc_settings').after(mlIcon);
|
||||
|
||||
var ml = $('<div class="jsxc_memberlist"><ul></ul></div>');
|
||||
win.find('.jsxc_fade').prepend(ml);
|
||||
@@ -697,13 +706,7 @@ jsxc.muc = {
|
||||
jsxc.muc.scrollMemberListBy(bid, 0);
|
||||
});
|
||||
|
||||
// update emoticon button
|
||||
setTimeout(function() {
|
||||
var top = win.find('.jsxc_emoticons').position().top + win.find('.slimScrollDiv').position().top;
|
||||
win.find('.jsxc_emoticons').css('top', top + 'px');
|
||||
}, 400);
|
||||
|
||||
var destroy = $('<li>');
|
||||
var destroy = $('<a>');
|
||||
destroy.text($.t('Destroy'));
|
||||
destroy.addClass('jsxc_destroy');
|
||||
destroy.hide();
|
||||
@@ -711,7 +714,7 @@ jsxc.muc = {
|
||||
self.destroy(bid);
|
||||
});
|
||||
|
||||
win.find('.jsxc_settings ul').append(destroy);
|
||||
win.find('.jsxc_settings ul').append($('<li>').append(destroy));
|
||||
|
||||
if (roomdata.state > self.CONST.ROOMSTATE.INIT) {
|
||||
var member = jsxc.storage.getUserItem('member', bid) || {};
|
||||
@@ -725,14 +728,14 @@ jsxc.muc = {
|
||||
});
|
||||
}
|
||||
|
||||
var leave = $('<li>');
|
||||
var leave = $('<a>');
|
||||
leave.text($.t('Leave'));
|
||||
leave.addClass('jsxc_leave');
|
||||
leave.click(function() {
|
||||
self.leave(bid);
|
||||
});
|
||||
|
||||
win.find('.jsxc_settings ul').append(leave);
|
||||
win.find('.jsxc_settings ul').append($('<li>').append(leave));
|
||||
},
|
||||
|
||||
/**
|
||||
@@ -774,10 +777,6 @@ jsxc.muc = {
|
||||
|
||||
jsxc.storage.setUserItem('roomNames', jsxc.xmpp.conn.muc.roomNames);
|
||||
|
||||
// clean up
|
||||
jsxc.storage.removeUserItem('chat', room);
|
||||
member = {};
|
||||
|
||||
if (jsxc.gui.roster.getItem(room).length === 0) {
|
||||
var bl = jsxc.storage.getUserItem('buddylist');
|
||||
bl.push(room);
|
||||
@@ -800,7 +799,11 @@ jsxc.muc = {
|
||||
// room has been destroyed
|
||||
member = {};
|
||||
|
||||
jsxc.gui.window.postMessage(room, 'sys', $.t('This_room_has_been_closed'));
|
||||
jsxc.gui.window.postMessage({
|
||||
bid: room,
|
||||
direction: jsxc.Message.SYS,
|
||||
msg: $.t('This_room_has_been_closed')
|
||||
});
|
||||
|
||||
self.close(room);
|
||||
} else {
|
||||
@@ -818,27 +821,39 @@ jsxc.muc = {
|
||||
// prevent to display enter message
|
||||
member[newNickname] = {};
|
||||
|
||||
jsxc.gui.window.postMessage(room, 'sys', $.t('is_now_known_as', {
|
||||
oldNickname: nickname,
|
||||
newNickname: newNickname,
|
||||
escapeInterpolation: true
|
||||
}));
|
||||
jsxc.gui.window.postMessage({
|
||||
bid: room,
|
||||
direction: jsxc.Message.SYS,
|
||||
msg: $.t('is_now_known_as', {
|
||||
oldNickname: nickname,
|
||||
newNickname: newNickname,
|
||||
escapeInterpolation: true
|
||||
})
|
||||
});
|
||||
} else if (codes.length === 0 || (codes.length === 1 && codes.indexOf('110') > -1)) {
|
||||
// normal user exit
|
||||
jsxc.gui.window.postMessage(room, 'sys', $.t('left_the_building', {
|
||||
nickname: nickname,
|
||||
escapeInterpolation: true
|
||||
}));
|
||||
jsxc.gui.window.postMessage({
|
||||
bid: room,
|
||||
direction: jsxc.Message.SYS,
|
||||
msg: $.t('left_the_building', {
|
||||
nickname: nickname,
|
||||
escapeInterpolation: true
|
||||
})
|
||||
});
|
||||
}
|
||||
}
|
||||
} else {
|
||||
// new member joined
|
||||
|
||||
if (!member[nickname] && own[room]) {
|
||||
jsxc.gui.window.postMessage(room, 'sys', $.t('entered_the_room', {
|
||||
nickname: nickname,
|
||||
escapeInterpolation: true
|
||||
}));
|
||||
jsxc.gui.window.postMessage({
|
||||
bid: room,
|
||||
direction: jsxc.Message.SYS,
|
||||
msg: $.t('entered_the_room', {
|
||||
nickname: nickname,
|
||||
escapeInterpolation: true
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
member[nickname] = {
|
||||
@@ -923,19 +938,35 @@ jsxc.muc = {
|
||||
},
|
||||
/** Inform occupants that room logging is now enabled */
|
||||
170: function(room) {
|
||||
jsxc.gui.window.postMessage(room, 'sys', $.t('Room_logging_is_enabled'));
|
||||
jsxc.gui.window.postMessage({
|
||||
bid: room,
|
||||
direction: jsxc.Message.SYS,
|
||||
msg: $.t('Room_logging_is_enabled')
|
||||
});
|
||||
},
|
||||
/** Inform occupants that room logging is now disabled */
|
||||
171: function(room) {
|
||||
jsxc.gui.window.postMessage(room, 'sys', $.t('Room_logging_is_disabled'));
|
||||
jsxc.gui.window.postMessage({
|
||||
bid: room,
|
||||
direction: jsxc.Message.SYS,
|
||||
msg: $.t('Room_logging_is_disabled')
|
||||
});
|
||||
},
|
||||
/** Inform occupants that the room is now non-anonymous */
|
||||
172: function(room) {
|
||||
jsxc.gui.window.postMessage(room, 'sys', $.t('Room_is_now_non-anoymous'));
|
||||
jsxc.gui.window.postMessage({
|
||||
bid: room,
|
||||
direction: jsxc.Message.SYS,
|
||||
msg: $.t('Room_is_now_non-anoymous')
|
||||
});
|
||||
},
|
||||
/** Inform occupants that the room is now semi-anonymous */
|
||||
173: function(room) {
|
||||
jsxc.gui.window.postMessage(room, 'sys', $.t('Room_is_now_semi-anonymous'));
|
||||
jsxc.gui.window.postMessage({
|
||||
bid: room,
|
||||
direction: jsxc.Message.SYS,
|
||||
msg: $.t('Room_is_now_semi-anonymous')
|
||||
});
|
||||
},
|
||||
/** Inform user that a new room has been created */
|
||||
201: function(room) {
|
||||
@@ -981,14 +1012,22 @@ jsxc.muc = {
|
||||
|
||||
if (own[room] === nickname) {
|
||||
jsxc.muc.close(room);
|
||||
jsxc.gui.window.postMessage(room, 'sys', $.t('muc_removed_banned'));
|
||||
jsxc.gui.window.postMessage({
|
||||
bid: room,
|
||||
direction: jsxc.Message.SYS,
|
||||
msg: $.t('muc_removed_banned')
|
||||
});
|
||||
|
||||
jsxc.muc.postReason(room, xdata);
|
||||
} else {
|
||||
jsxc.gui.window.postMessage(room, 'sys', $.t('muc_removed_info_banned', {
|
||||
nickname: nickname,
|
||||
escapeInterpolation: true
|
||||
}));
|
||||
jsxc.gui.window.postMessage({
|
||||
bid: room,
|
||||
direction: jsxc.Message.SYS,
|
||||
msg: $.t('muc_removed_info_banned', {
|
||||
nickname: nickname,
|
||||
escapeInterpolation: true
|
||||
})
|
||||
});
|
||||
}
|
||||
},
|
||||
/** Inform user that he or she has been kicked */
|
||||
@@ -997,14 +1036,22 @@ jsxc.muc = {
|
||||
|
||||
if (own[room] === nickname) {
|
||||
jsxc.muc.close(room);
|
||||
jsxc.gui.window.postMessage(room, 'sys', $.t('muc_removed_kicked'));
|
||||
jsxc.gui.window.postMessage({
|
||||
bid: room,
|
||||
direction: jsxc.Message.SYS,
|
||||
msg: $.t('muc_removed_kicked')
|
||||
});
|
||||
|
||||
jsxc.muc.postReason(room, xdata);
|
||||
} else {
|
||||
jsxc.gui.window.postMessage(room, 'sys', $.t('muc_removed_info_kicked', {
|
||||
nickname: nickname,
|
||||
escapeInterpolation: true
|
||||
}));
|
||||
jsxc.gui.window.postMessage({
|
||||
bid: room,
|
||||
direction: jsxc.Message.SYS,
|
||||
msg: $.t('muc_removed_info_kicked', {
|
||||
nickname: nickname,
|
||||
escapeInterpolation: true
|
||||
})
|
||||
});
|
||||
}
|
||||
},
|
||||
/** Inform user that he or she is beeing removed from the room because of an affiliation change */
|
||||
@@ -1013,12 +1060,21 @@ jsxc.muc = {
|
||||
|
||||
if (own[room] === nickname) {
|
||||
jsxc.muc.close(room);
|
||||
jsxc.gui.window.postMessage(room, 'sys', $.t('muc_removed_affiliation'));
|
||||
|
||||
jsxc.gui.window.postMessage({
|
||||
bid: room,
|
||||
direction: jsxc.Message.SYS,
|
||||
msg: $.t('muc_removed_affiliation')
|
||||
});
|
||||
} else {
|
||||
jsxc.gui.window.postMessage(room, 'sys', $.t('muc_removed_info_affiliation', {
|
||||
nickname: nickname,
|
||||
escapeInterpolation: true
|
||||
}));
|
||||
jsxc.gui.window.postMessage({
|
||||
bid: room,
|
||||
direction: jsxc.Message.SYS,
|
||||
msg: $.t('muc_removed_info_affiliation', {
|
||||
nickname: nickname,
|
||||
escapeInterpolation: true
|
||||
})
|
||||
});
|
||||
}
|
||||
},
|
||||
/**
|
||||
@@ -1030,12 +1086,20 @@ jsxc.muc = {
|
||||
|
||||
if (own[room] === nickname) {
|
||||
jsxc.muc.close(room);
|
||||
jsxc.gui.window.postMessage(room, 'sys', $.t('muc_removed_membersonly'));
|
||||
jsxc.gui.window.postMessage({
|
||||
bid: room,
|
||||
direction: jsxc.Message.SYS,
|
||||
msg: $.t('muc_removed_membersonly')
|
||||
});
|
||||
} else {
|
||||
jsxc.gui.window.postMessage(room, 'sys', $.t('muc_removed_info_membersonly', {
|
||||
nickname: nickname,
|
||||
escapeInterpolation: true
|
||||
}));
|
||||
jsxc.gui.window.postMessage({
|
||||
bid: room,
|
||||
direction: jsxc.Message.SYS,
|
||||
msg: $.t('muc_removed_info_membersonly', {
|
||||
nickname: nickname,
|
||||
escapeInterpolation: true
|
||||
})
|
||||
});
|
||||
}
|
||||
},
|
||||
/**
|
||||
@@ -1044,7 +1108,11 @@ jsxc.muc = {
|
||||
*/
|
||||
332: function(room) {
|
||||
jsxc.muc.close(room);
|
||||
jsxc.gui.window.postMessage(room, 'sys', $.t('muc_removed_shutdown'));
|
||||
jsxc.gui.window.postMessage({
|
||||
bid: room,
|
||||
direction: jsxc.Message.SYS,
|
||||
msg: $.t('muc_removed_shutdown')
|
||||
});
|
||||
}
|
||||
},
|
||||
|
||||
@@ -1066,9 +1134,18 @@ jsxc.muc = {
|
||||
reason = $.t('Reason') + ': ' + reason;
|
||||
|
||||
if (typeof actor.name === 'string' || typeof actor.jid === 'string') {
|
||||
jsxc.gui.window.postMessage(room, 'in', reason, false, false, null, actor);
|
||||
jsxc.gui.window.postMessage({
|
||||
bid: room,
|
||||
direction: jsxc.Message.IN,
|
||||
msg: reason,
|
||||
sender: actor
|
||||
});
|
||||
} else {
|
||||
jsxc.gui.window.postMessage(room, 'sys', reason);
|
||||
jsxc.gui.window.postMessage({
|
||||
bid: room,
|
||||
direction: jsxc.Message.SYS,
|
||||
msg: reason
|
||||
});
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -1188,7 +1265,7 @@ jsxc.muc = {
|
||||
onGroupchatMessage: function(message) {
|
||||
var id = $(message).attr('id');
|
||||
|
||||
if (jsxc.el_exists($('#' + id))) {
|
||||
if (id && jsxc.el_exists(jsxc.Message.getDOM(id))) {
|
||||
// ignore own incoming messages
|
||||
return true;
|
||||
}
|
||||
@@ -1212,7 +1289,15 @@ jsxc.muc = {
|
||||
sender.jid = member[nickname].jid;
|
||||
}
|
||||
|
||||
jsxc.gui.window.postMessage(room, 'in', body, false, false, stamp, sender);
|
||||
jsxc.gui.window.init(room);
|
||||
|
||||
jsxc.gui.window.postMessage({
|
||||
bid: room,
|
||||
direction: jsxc.Message.IN,
|
||||
msg: body,
|
||||
stamp: stamp,
|
||||
sender: sender
|
||||
});
|
||||
}
|
||||
|
||||
var subject = $(message).find('subject');
|
||||
@@ -1224,10 +1309,14 @@ jsxc.muc = {
|
||||
|
||||
jsxc.storage.setUserItem('buddy', room, roomdata);
|
||||
|
||||
jsxc.gui.window.postMessage(room, 'sys', $.t('changed_subject_to', {
|
||||
nickname: nickname,
|
||||
subject: subject.text()
|
||||
}));
|
||||
jsxc.gui.window.postMessage({
|
||||
bid: room,
|
||||
direction: jsxc.Message.SYS,
|
||||
msg: $.t('changed_subject_to', {
|
||||
nickname: nickname,
|
||||
subject: subject.text()
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
return true;
|
||||
@@ -1248,13 +1337,29 @@ jsxc.muc = {
|
||||
}
|
||||
|
||||
if ($(message).find('item-not-found').length > 0) {
|
||||
jsxc.gui.window.postMessage(room, 'sys', $.t('message_not_send_item-not-found'));
|
||||
jsxc.gui.window.postMessage({
|
||||
bid: room,
|
||||
direction: jsxc.Message.SYS,
|
||||
msg: $.t('message_not_send_item-not-found')
|
||||
});
|
||||
} else if ($(message).find('forbidden').length > 0) {
|
||||
jsxc.gui.window.postMessage(room, 'sys', $.t('message_not_send_forbidden'));
|
||||
jsxc.gui.window.postMessage({
|
||||
bid: room,
|
||||
direction: jsxc.Message.SYS,
|
||||
msg: $.t('message_not_send_forbidden')
|
||||
});
|
||||
} else if ($(message).find('not-acceptable').length > 0) {
|
||||
jsxc.gui.window.postMessage(room, 'sys', $.t('message_not_send_not-acceptable'));
|
||||
jsxc.gui.window.postMessage({
|
||||
bid: room,
|
||||
direction: jsxc.Message.SYS,
|
||||
msg: $.t('message_not_send_not-acceptable')
|
||||
});
|
||||
} else {
|
||||
jsxc.gui.window.postMessage(room, 'sys', $.t('message_not_send'));
|
||||
jsxc.gui.window.postMessage({
|
||||
bid: room,
|
||||
direction: jsxc.Message.SYS,
|
||||
msg: $.t('message_not_send')
|
||||
});
|
||||
}
|
||||
|
||||
jsxc.debug('[muc] error message for ' + room, $(message).find('error')[0]);
|
||||
@@ -1279,8 +1384,9 @@ jsxc.muc = {
|
||||
return;
|
||||
}
|
||||
|
||||
var bo = $('<div>');
|
||||
bo.text('+');
|
||||
var bo = $('<a>');
|
||||
$('<span>').addClass('jsxc_icon jsxc_bookmarkicon').appendTo(bo);
|
||||
$('<span>').text($.t('Bookmark')).appendTo(bo);
|
||||
bo.addClass('jsxc_bookmarkOptions');
|
||||
bo.click(function(ev) {
|
||||
ev.preventDefault();
|
||||
@@ -1290,7 +1396,7 @@ jsxc.muc = {
|
||||
return false;
|
||||
});
|
||||
|
||||
bud.find('.jsxc_rename').before(bo);
|
||||
bud.find('.jsxc_menu ul').append($('<li>').append(bo));
|
||||
|
||||
if (data.bookmarked) {
|
||||
bud.addClass('jsxc_bookmarked');
|
||||
@@ -1510,13 +1616,13 @@ $(document).one('connected.jsxc', function() {
|
||||
</div>
|
||||
|
||||
<nav>
|
||||
<h2><a href="index.html">Index</a></h2><h3>Namespaces</h3><ul><li><a href="jsxc.html">jsxc</a></li><li><a href="jsxc.gui.html">gui</a></li><li><a href="jsxc.gui.dialog.html">dialog</a></li><li><a href="jsxc.gui.queryActions.html">queryActions</a></li><li><a href="jsxc.gui.roster.html">roster</a></li><li><a href="jsxc.gui.window.html">window</a></li><li><a href="jsxc.muc.html">muc</a></li><li><a href="jsxc.notification.html">notification</a></li><li><a href="jsxc.options.html">options</a></li><li><a href="jsxc.otr.html">otr</a></li><li><a href="jsxc.storage.html">storage</a></li><li><a href="jsxc.webrtc.html">webrtc</a></li><li><a href="jsxc.xmpp.html">xmpp</a></li><li><a href="jsxc.xmpp.bookmarks.html">bookmarks</a></li><li><a href="jsxc.xmpp.carbons.html">carbons</a></li></ul><h3><a href="global.html">Global</a></h3>
|
||||
<h2><a href="index.html">Index</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.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>Global</h3><ul><li>{boolean}</li><li>{integer}</li><li>{string}</li></ul>
|
||||
</nav>
|
||||
|
||||
<br clear="both">
|
||||
|
||||
<footer>
|
||||
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.2.2</a> on Tue Nov 17 2015 17:01:04 GMT+0100 (CET)
|
||||
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.2.2</a> on Fri Mar 11 2016 17:32:12 GMT+0100 (CET)
|
||||
</footer>
|
||||
|
||||
<script> prettyPrint(); </script>
|
||||
|
||||
@@ -151,13 +151,13 @@ jsxc.notice = {
|
||||
</div>
|
||||
|
||||
<nav>
|
||||
<h2><a href="index.html">Index</a></h2><h3>Namespaces</h3><ul><li><a href="jsxc.html">jsxc</a></li><li><a href="jsxc.gui.html">gui</a></li><li><a href="jsxc.gui.dialog.html">dialog</a></li><li><a href="jsxc.gui.queryActions.html">queryActions</a></li><li><a href="jsxc.gui.roster.html">roster</a></li><li><a href="jsxc.gui.window.html">window</a></li><li><a href="jsxc.muc.html">muc</a></li><li><a href="jsxc.notification.html">notification</a></li><li><a href="jsxc.options.html">options</a></li><li><a href="jsxc.otr.html">otr</a></li><li><a href="jsxc.storage.html">storage</a></li><li><a href="jsxc.webrtc.html">webrtc</a></li><li><a href="jsxc.xmpp.html">xmpp</a></li><li><a href="jsxc.xmpp.bookmarks.html">bookmarks</a></li><li><a href="jsxc.xmpp.carbons.html">carbons</a></li></ul><h3><a href="global.html">Global</a></h3>
|
||||
<h2><a href="index.html">Index</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.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>Global</h3><ul><li>{boolean}</li><li>{integer}</li><li>{string}</li></ul>
|
||||
</nav>
|
||||
|
||||
<br clear="both">
|
||||
|
||||
<footer>
|
||||
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.2.2</a> on Tue Nov 17 2015 17:01:04 GMT+0100 (CET)
|
||||
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.2.2</a> on Fri Mar 11 2016 17:32:12 GMT+0100 (CET)
|
||||
</footer>
|
||||
|
||||
<script> prettyPrint(); </script>
|
||||
|
||||
@@ -42,7 +42,7 @@ jsxc.notification = {
|
||||
*/
|
||||
init: function() {
|
||||
$(document).on('postmessagein.jsxc', function(event, bid, msg) {
|
||||
msg = (msg.match(/^\?OTR/)) ? $.t('Encrypted_message') : msg;
|
||||
msg = (msg && msg.match(/^\?OTR/)) ? $.t('Encrypted_message') : msg;
|
||||
var data = jsxc.storage.getUserItem('buddy', bid);
|
||||
|
||||
jsxc.notification.notify({
|
||||
@@ -309,13 +309,13 @@ jsxc.notification = {
|
||||
</div>
|
||||
|
||||
<nav>
|
||||
<h2><a href="index.html">Index</a></h2><h3>Namespaces</h3><ul><li><a href="jsxc.html">jsxc</a></li><li><a href="jsxc.gui.html">gui</a></li><li><a href="jsxc.gui.dialog.html">dialog</a></li><li><a href="jsxc.gui.queryActions.html">queryActions</a></li><li><a href="jsxc.gui.roster.html">roster</a></li><li><a href="jsxc.gui.window.html">window</a></li><li><a href="jsxc.muc.html">muc</a></li><li><a href="jsxc.notification.html">notification</a></li><li><a href="jsxc.options.html">options</a></li><li><a href="jsxc.otr.html">otr</a></li><li><a href="jsxc.storage.html">storage</a></li><li><a href="jsxc.webrtc.html">webrtc</a></li><li><a href="jsxc.xmpp.html">xmpp</a></li><li><a href="jsxc.xmpp.bookmarks.html">bookmarks</a></li><li><a href="jsxc.xmpp.carbons.html">carbons</a></li></ul><h3><a href="global.html">Global</a></h3>
|
||||
<h2><a href="index.html">Index</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.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>Global</h3><ul><li>{boolean}</li><li>{integer}</li><li>{string}</li></ul>
|
||||
</nav>
|
||||
|
||||
<br clear="both">
|
||||
|
||||
<footer>
|
||||
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.2.2</a> on Tue Nov 17 2015 17:01:04 GMT+0100 (CET)
|
||||
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.2.2</a> on Fri Mar 11 2016 17:32:12 GMT+0100 (CET)
|
||||
</footer>
|
||||
|
||||
<script> prettyPrint(); </script>
|
||||
|
||||
@@ -117,9 +117,24 @@ jsxc.options = {
|
||||
*/
|
||||
onAuthFail: 'submit',
|
||||
|
||||
/** True: Attach connection even is login form was found */
|
||||
/**
|
||||
* 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:
|
||||
* - 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.
|
||||
@@ -151,9 +166,6 @@ jsxc.options = {
|
||||
/** Absolute path root of JSXC installation */
|
||||
root: '',
|
||||
|
||||
/** Timeout for restore in ms */
|
||||
loginTimeout: 1000 * 60 * 10,
|
||||
|
||||
/**
|
||||
* This function decides wether the roster will be displayed or not if no
|
||||
* connection is found.
|
||||
@@ -200,10 +212,10 @@ jsxc.options = {
|
||||
*
|
||||
* @memberOf jsxc.options
|
||||
* @param data Holds all data as key/value
|
||||
* @returns {boolean} false if function failes
|
||||
* @param cb Called with true on success, false otherwise
|
||||
*/
|
||||
saveSettinsPermanent: function() {
|
||||
|
||||
saveSettinsPermanent: function(data, cb) {
|
||||
cb(true);
|
||||
},
|
||||
|
||||
carbons: {
|
||||
@@ -250,6 +262,9 @@ jsxc.options = {
|
||||
/** [optional] If set, jsxc requests and uses RTCPeerConfig from this url */
|
||||
url: null,
|
||||
|
||||
/** If true, jsxc send cookies when requesting RTCPeerConfig from the url above */
|
||||
withCredentials: false,
|
||||
|
||||
/** ICE servers like defined in http://www.w3.org/TR/webrtc/#idl-def-RTCIceServer */
|
||||
iceServers: [{
|
||||
urls: 'stun:stun.stunprotocol.org'
|
||||
@@ -257,7 +272,25 @@ jsxc.options = {
|
||||
},
|
||||
|
||||
/** Link to an online user manual */
|
||||
onlineHelp: 'http://www.jsxc.org/manual.html'
|
||||
onlineHelp: 'http://www.jsxc.org/manual.html',
|
||||
|
||||
viewport: {
|
||||
getSize: function() {
|
||||
var w = $(window).width() - $('#jsxc_windowListSB').width();
|
||||
var h = $(window).height();
|
||||
|
||||
if (jsxc.storage.getUserItem('roster') === 'shown') {
|
||||
w -= $('#jsxc_roster').outerWidth(true);
|
||||
}
|
||||
|
||||
return {
|
||||
width: w,
|
||||
height: h
|
||||
};
|
||||
}
|
||||
},
|
||||
|
||||
maxStorableSize: 1000000
|
||||
};
|
||||
</code></pre>
|
||||
</article>
|
||||
@@ -269,13 +302,13 @@ jsxc.options = {
|
||||
</div>
|
||||
|
||||
<nav>
|
||||
<h2><a href="index.html">Index</a></h2><h3>Namespaces</h3><ul><li><a href="jsxc.html">jsxc</a></li><li><a href="jsxc.gui.html">gui</a></li><li><a href="jsxc.gui.dialog.html">dialog</a></li><li><a href="jsxc.gui.queryActions.html">queryActions</a></li><li><a href="jsxc.gui.roster.html">roster</a></li><li><a href="jsxc.gui.window.html">window</a></li><li><a href="jsxc.muc.html">muc</a></li><li><a href="jsxc.notification.html">notification</a></li><li><a href="jsxc.options.html">options</a></li><li><a href="jsxc.otr.html">otr</a></li><li><a href="jsxc.storage.html">storage</a></li><li><a href="jsxc.webrtc.html">webrtc</a></li><li><a href="jsxc.xmpp.html">xmpp</a></li><li><a href="jsxc.xmpp.bookmarks.html">bookmarks</a></li><li><a href="jsxc.xmpp.carbons.html">carbons</a></li></ul><h3><a href="global.html">Global</a></h3>
|
||||
<h2><a href="index.html">Index</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.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>Global</h3><ul><li>{boolean}</li><li>{integer}</li><li>{string}</li></ul>
|
||||
</nav>
|
||||
|
||||
<br clear="both">
|
||||
|
||||
<footer>
|
||||
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.2.2</a> on Tue Nov 17 2015 17:01:04 GMT+0100 (CET)
|
||||
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.2.2</a> on Fri Mar 11 2016 17:32:12 GMT+0100 (CET)
|
||||
</footer>
|
||||
|
||||
<script> prettyPrint(); </script>
|
||||
|
||||
+80
-36
@@ -52,9 +52,23 @@ jsxc.otr = {
|
||||
}
|
||||
|
||||
if (jsxc.otr.objects[bid].msgstate !== OTR.CONST.MSGSTATE_PLAINTEXT && !d.encrypted) {
|
||||
jsxc.gui.window.postMessage(bid, 'sys', $.t('Received_an_unencrypted_message') + '. [' + d.msg + ']', d.encrypted, d.forwarded, d.stamp);
|
||||
jsxc.gui.window.postMessage({
|
||||
bid: bid,
|
||||
direction: jsxc.Message.SYS,
|
||||
msg: $.t('Received_an_unencrypted_message') + '. [' + d.msg + ']',
|
||||
encrypted: d.encrypted,
|
||||
forwarded: d.forwarded,
|
||||
stamp: d.stamp
|
||||
});
|
||||
} else {
|
||||
jsxc.gui.window.postMessage(bid, 'in', d.msg, d.encrypted, d.forwarded, d.stamp);
|
||||
jsxc.gui.window.postMessage({
|
||||
bid: bid,
|
||||
direction: jsxc.Message.IN,
|
||||
msg: d.msg,
|
||||
encrypted: d.encrypted,
|
||||
forwarded: d.forwarded,
|
||||
stamp: d.stamp
|
||||
});
|
||||
}
|
||||
},
|
||||
|
||||
@@ -114,7 +128,11 @@ jsxc.otr = {
|
||||
|
||||
switch (status) {
|
||||
case OTR.CONST.STATUS_SEND_QUERY:
|
||||
jsxc.gui.window.postMessage(bid, 'sys', $.t('trying_to_start_private_conversation'));
|
||||
jsxc.gui.window.postMessage({
|
||||
bid: bid,
|
||||
direction: jsxc.Message.SYS,
|
||||
msg: $.t('trying_to_start_private_conversation')
|
||||
});
|
||||
break;
|
||||
case OTR.CONST.STATUS_AKE_SUCCESS:
|
||||
data.fingerprint = jsxc.otr.objects[bid].their_priv_pk.fingerprint();
|
||||
@@ -123,7 +141,11 @@ jsxc.otr = {
|
||||
var msg_state = jsxc.otr.objects[bid].trust ? 'Verified' : 'Unverified';
|
||||
var msg = $.t(msg_state + '_private_conversation_started');
|
||||
|
||||
jsxc.gui.window.postMessage(bid, 'sys', msg);
|
||||
jsxc.gui.window.postMessage({
|
||||
bid: bid,
|
||||
direction: 'sys',
|
||||
msg: msg
|
||||
});
|
||||
break;
|
||||
case OTR.CONST.STATUS_END_OTR:
|
||||
data.fingerprint = null;
|
||||
@@ -132,13 +154,21 @@ jsxc.otr = {
|
||||
// we abort the private conversation
|
||||
|
||||
data.msgstate = OTR.CONST.MSGSTATE_PLAINTEXT;
|
||||
jsxc.gui.window.postMessage(bid, 'sys', $.t('private_conversation_aborted'));
|
||||
jsxc.gui.window.postMessage({
|
||||
bid: bid,
|
||||
direction: jsxc.Message.SYS,
|
||||
msg: $.t('private_conversation_aborted')
|
||||
});
|
||||
|
||||
} else {
|
||||
// the buddy abort the private conversation
|
||||
|
||||
data.msgstate = OTR.CONST.MSGSTATE_FINISHED;
|
||||
jsxc.gui.window.postMessage(bid, 'sys', $.t('your_buddy_closed_the_private_conversation_you_should_do_the_same'));
|
||||
jsxc.gui.window.postMessage({
|
||||
bid: bid,
|
||||
direction: jsxc.Message.SYS,
|
||||
msg: $.t('your_buddy_closed_the_private_conversation_you_should_do_the_same')
|
||||
});
|
||||
}
|
||||
break;
|
||||
case OTR.CONST.STATUS_SMP_HANDLE:
|
||||
@@ -155,15 +185,14 @@ jsxc.otr = {
|
||||
jsxc.otr.objects[bid].on('smp', function(type, data) {
|
||||
switch (type) {
|
||||
case 'question': // verification request received
|
||||
jsxc.gui.window.postMessage(bid, 'sys', $.t('Authentication_request_received'));
|
||||
jsxc.gui.window.postMessage({
|
||||
bid: bid,
|
||||
direction: jsxc.Message.SYS,
|
||||
msg: $.t('Authentication_request_received')
|
||||
});
|
||||
|
||||
if ($('#jsxc_dialog').length > 0) {
|
||||
jsxc.otr.objects[bid].sm.abort();
|
||||
break;
|
||||
}
|
||||
|
||||
jsxc.otr.onSmpQuestion(bid, data);
|
||||
jsxc.storage.setUserItem('smp_' + bid, {
|
||||
jsxc.gui.window.smpRequest(bid, data);
|
||||
jsxc.storage.setUserItem('smp', bid, {
|
||||
data: data || null
|
||||
});
|
||||
|
||||
@@ -175,15 +204,28 @@ jsxc.otr = {
|
||||
jsxc.gui.update(bid);
|
||||
|
||||
if (data) {
|
||||
jsxc.gui.window.postMessage(bid, 'sys', $.t('conversation_is_now_verified'));
|
||||
jsxc.gui.window.postMessage({
|
||||
bid: bid,
|
||||
direction: jsxc.Message.SYS,
|
||||
msg: $.t('conversation_is_now_verified')
|
||||
});
|
||||
} else {
|
||||
jsxc.gui.window.postMessage(bid, 'sys', $.t('authentication_failed'));
|
||||
jsxc.gui.window.postMessage({
|
||||
bid: bid,
|
||||
direction: jsxc.Message.SYS,
|
||||
msg: $.t('authentication_failed')
|
||||
});
|
||||
}
|
||||
jsxc.storage.removeUserItem('smp_' + bid);
|
||||
jsxc.gui.dialog.close();
|
||||
jsxc.storage.removeUserItem('smp', bid);
|
||||
jsxc.gui.dialog.close('smp');
|
||||
break;
|
||||
case 'abort':
|
||||
jsxc.gui.window.postMessage(bid, 'sys', $.t('Authentication_aborted'));
|
||||
jsxc.gui.window.hideOverlay(bid);
|
||||
jsxc.gui.window.postMessage({
|
||||
bid: bid,
|
||||
direction: jsxc.Message.SYS,
|
||||
msg: $.t('Authentication_aborted')
|
||||
});
|
||||
break;
|
||||
default:
|
||||
jsxc.debug('[OTR] sm callback: Unknown type: ' + type);
|
||||
@@ -213,7 +255,11 @@ jsxc.otr = {
|
||||
jsxc.otr.objects[bid].on('error', function(err) {
|
||||
// Handle this case in jsxc.otr.receiveMessage
|
||||
if (err !== 'Received an unencrypted message.') {
|
||||
jsxc.gui.window.postMessage(bid, 'sys', '[OTR] ' + $.t(err));
|
||||
jsxc.gui.window.postMessage({
|
||||
bid: bid,
|
||||
direction: jsxc.Message.SYS,
|
||||
msg: '[OTR] ' + $.t(err)
|
||||
});
|
||||
}
|
||||
|
||||
jsxc.error('[OTR] ' + err);
|
||||
@@ -237,14 +283,16 @@ jsxc.otr = {
|
||||
|
||||
if (data) {
|
||||
$('#jsxc_dialog > div:eq(2)').find('#jsxc_quest').val(data).prop('disabled', true);
|
||||
$('#jsxc_dialog > div:eq(2)').find('.jsxc_submit').text($('Answer'));
|
||||
$('#jsxc_dialog > div:eq(2)').find('.jsxc_submit').text($.t('Answer'));
|
||||
$('#jsxc_dialog > div:eq(2)').find('.jsxc_explanation').text($.t('onsmp_explanation_question'));
|
||||
$('#jsxc_dialog > div:eq(2)').show();
|
||||
} else {
|
||||
$('#jsxc_dialog > div:eq(3)').find('.jsxc_explanation').text($.t('onsmp_explanation_secret'));
|
||||
$('#jsxc_dialog > div:eq(3)').show();
|
||||
}
|
||||
|
||||
$('#jsxc_dialog .jsxc_close').click(function() {
|
||||
jsxc.storage.removeUserItem('smp_' + bid);
|
||||
jsxc.storage.removeUserItem('smp', bid);
|
||||
|
||||
if (jsxc.master) {
|
||||
jsxc.otr.objects[bid].sm.abort();
|
||||
@@ -407,8 +455,6 @@ jsxc.otr = {
|
||||
MSGSTATE_FINISHED: 2
|
||||
};
|
||||
|
||||
jsxc._onMaster();
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -431,8 +477,6 @@ jsxc.otr = {
|
||||
if (!jsxc.otr.dsaFallback) {
|
||||
// create DSA key in background
|
||||
|
||||
jsxc._onMaster();
|
||||
|
||||
worker.onmessage = function(e) {
|
||||
var type = e.data.type;
|
||||
var val = e.data.val;
|
||||
@@ -444,6 +488,8 @@ jsxc.otr = {
|
||||
}
|
||||
};
|
||||
|
||||
jsxc.debug('DSA key creation started.');
|
||||
|
||||
// start worker
|
||||
worker.postMessage({
|
||||
imports: [jsxc.options.root + '/lib/otr/vendor/salsa20.js', jsxc.options.root + '/lib/otr/vendor/bigint.js', jsxc.options.root + '/lib/otr/vendor/crypto.js', jsxc.options.root + '/lib/otr/vendor/eventemitter.js', jsxc.options.root + '/lib/otr/lib/const.js', jsxc.options.root + '/lib/otr/lib/helpers.js', jsxc.options.root + '/lib/otr/lib/dsa.js'],
|
||||
@@ -453,12 +499,13 @@ jsxc.otr = {
|
||||
|
||||
} else {
|
||||
// fallback
|
||||
jsxc.xmpp.conn.pause();
|
||||
|
||||
jsxc.gui.dialog.open(jsxc.gui.template.get('waitAlert', null, msg), {
|
||||
noClose: true
|
||||
});
|
||||
|
||||
jsxc.debug('DSA key creation started.');
|
||||
jsxc.debug('DSA key creation started in fallback mode.');
|
||||
|
||||
// wait until the wait alert is opened
|
||||
setTimeout(function() {
|
||||
@@ -481,9 +528,9 @@ jsxc.otr = {
|
||||
|
||||
jsxc.storage.setUserItem('priv_fingerprint', jsxc.options.otr.priv.fingerprint());
|
||||
|
||||
if (jsxc.otr.dsaFallback !== false) {
|
||||
jsxc._onMaster();
|
||||
}
|
||||
$.each(jsxc.storage.getUserItem('windowlist') || [], function(index, val) {
|
||||
jsxc.otr.create(val);
|
||||
});
|
||||
},
|
||||
|
||||
/**
|
||||
@@ -497,11 +544,8 @@ jsxc.otr = {
|
||||
|
||||
// close wait alert
|
||||
if (jsxc.otr.dsaFallback) {
|
||||
jsxc.xmpp.conn.resume();
|
||||
jsxc.gui.dialog.close();
|
||||
} else {
|
||||
$.each(jsxc.storage.getUserItem('windowlist'), function(index, val) {
|
||||
jsxc.otr.create(val);
|
||||
});
|
||||
}
|
||||
|
||||
jsxc.otr._createDSA();
|
||||
@@ -521,13 +565,13 @@ jsxc.otr = {
|
||||
</div>
|
||||
|
||||
<nav>
|
||||
<h2><a href="index.html">Index</a></h2><h3>Namespaces</h3><ul><li><a href="jsxc.html">jsxc</a></li><li><a href="jsxc.gui.html">gui</a></li><li><a href="jsxc.gui.dialog.html">dialog</a></li><li><a href="jsxc.gui.queryActions.html">queryActions</a></li><li><a href="jsxc.gui.roster.html">roster</a></li><li><a href="jsxc.gui.window.html">window</a></li><li><a href="jsxc.muc.html">muc</a></li><li><a href="jsxc.notification.html">notification</a></li><li><a href="jsxc.options.html">options</a></li><li><a href="jsxc.otr.html">otr</a></li><li><a href="jsxc.storage.html">storage</a></li><li><a href="jsxc.webrtc.html">webrtc</a></li><li><a href="jsxc.xmpp.html">xmpp</a></li><li><a href="jsxc.xmpp.bookmarks.html">bookmarks</a></li><li><a href="jsxc.xmpp.carbons.html">carbons</a></li></ul><h3><a href="global.html">Global</a></h3>
|
||||
<h2><a href="index.html">Index</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.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>Global</h3><ul><li>{boolean}</li><li>{integer}</li><li>{string}</li></ul>
|
||||
</nav>
|
||||
|
||||
<br clear="both">
|
||||
|
||||
<footer>
|
||||
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.2.2</a> on Tue Nov 17 2015 17:01:04 GMT+0100 (CET)
|
||||
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.2.2</a> on Fri Mar 11 2016 17:32:12 GMT+0100 (CET)
|
||||
</footer>
|
||||
|
||||
<script> prettyPrint(); </script>
|
||||
|
||||
@@ -48,6 +48,10 @@ jsxc.storage = {
|
||||
getPrefix: function(uk) {
|
||||
var self = jsxc.storage;
|
||||
|
||||
if (uk && !jsxc.bid) {
|
||||
console.trace('Unable to create user prefix');
|
||||
}
|
||||
|
||||
return self.PREFIX + self.SEP + ((uk && jsxc.bid) ? jsxc.bid + self.SEP : '');
|
||||
},
|
||||
|
||||
@@ -62,7 +66,7 @@ jsxc.storage = {
|
||||
setItem: function(key, value, uk) {
|
||||
|
||||
// Workaround for non-conform browser
|
||||
if (jsxc.storageNotConform > 0 && key !== 'rid' && key !== 'lastActivity') {
|
||||
if (jsxc.storageNotConform > 0 && key !== 'rid') {
|
||||
if (jsxc.storageNotConform > 1 && jsxc.toSNC === null) {
|
||||
jsxc.toSNC = window.setTimeout(function() {
|
||||
jsxc.storageNotConform = 0;
|
||||
@@ -148,7 +152,7 @@ jsxc.storage = {
|
||||
removeItem: function(key, uk) {
|
||||
|
||||
// Workaround for non-conform browser
|
||||
if (jsxc.storageNotConform && key !== 'rid' && key !== 'lastActivity') {
|
||||
if (jsxc.storageNotConform && key !== 'rid') {
|
||||
jsxc.ls.push(JSON.stringify({
|
||||
key: jsxc.storage.prefix + key,
|
||||
value: ''
|
||||
@@ -291,7 +295,7 @@ jsxc.storage = {
|
||||
onStorage: function(e) {
|
||||
|
||||
// skip
|
||||
if (e.key === jsxc.storage.PREFIX + jsxc.storage.SEP + 'rid' || e.key === jsxc.storage.PREFIX + jsxc.storage.SEP + 'lastActivity') {
|
||||
if (e.key === jsxc.storage.PREFIX + jsxc.storage.SEP + 'rid') {
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -391,22 +395,24 @@ jsxc.storage = {
|
||||
}
|
||||
}
|
||||
|
||||
if (key.match(new RegExp('^chat' + jsxc.storage.SEP))) {
|
||||
if (key.match(new RegExp('^history' + jsxc.storage.SEP))) {
|
||||
|
||||
var posts = JSON.parse(e.newValue);
|
||||
var data, el;
|
||||
var history = JSON.parse(e.newValue);
|
||||
var uid, el, message;
|
||||
|
||||
while (posts.length > 0) {
|
||||
data = posts.pop();
|
||||
el = $('#' + data.uid);
|
||||
while (history.length > 0) {
|
||||
uid = history.pop();
|
||||
|
||||
message = new jsxc.Message(uid);
|
||||
el = message.getDOM();
|
||||
|
||||
if (el.length === 0) {
|
||||
if (jsxc.master && data.direction === 'out') {
|
||||
jsxc.xmpp.sendMessage(bid, data.msg, data.uid);
|
||||
if (jsxc.master && message.direction === jsxc.Message.OUT) {
|
||||
jsxc.xmpp.sendMessage(message.bid, message.msg, message._uid);
|
||||
}
|
||||
|
||||
jsxc.gui.window._postMessage(bid, data);
|
||||
} else if (data.received) {
|
||||
jsxc.gui.window._postMessage(message, true);
|
||||
} else if (message.isReceived()) {
|
||||
el.addClass('jsxc_received');
|
||||
}
|
||||
}
|
||||
@@ -457,7 +463,8 @@ jsxc.storage = {
|
||||
|
||||
if (!e.newValue) {
|
||||
|
||||
jsxc.gui.dialog.close();
|
||||
jsxc.gui.dialog.close('smp');
|
||||
jsxc.gui.window.hideOverlay(bid);
|
||||
|
||||
if (jsxc.master) {
|
||||
jsxc.otr.objects[bid].sm.abort();
|
||||
@@ -470,10 +477,11 @@ jsxc.storage = {
|
||||
|
||||
if (typeof(n.data) !== 'undefined') {
|
||||
|
||||
jsxc.otr.onSmpQuestion(bid, n.data);
|
||||
jsxc.gui.window.smpRequest(bid, n.data);
|
||||
|
||||
} else if (jsxc.master && n.sec) {
|
||||
jsxc.gui.dialog.close();
|
||||
jsxc.gui.dialog.close('smp');
|
||||
jsxc.gui.window.hideOverlay(bid);
|
||||
|
||||
jsxc.otr.sendSmpReq(bid, n.sec, n.quest);
|
||||
}
|
||||
@@ -556,7 +564,7 @@ jsxc.storage = {
|
||||
}
|
||||
|
||||
if (key === 'roster') {
|
||||
jsxc.gui.roster.toggle();
|
||||
jsxc.gui.roster.toggle(e.newValue);
|
||||
}
|
||||
|
||||
if (jsxc.master && key.match(new RegExp('^vcard' + jsxc.storage.SEP)) && e.newValue !== null && e.newValue.match(/^request:/)) {
|
||||
@@ -584,44 +592,6 @@ jsxc.storage = {
|
||||
}
|
||||
},
|
||||
|
||||
/**
|
||||
* Save message to storage.
|
||||
*
|
||||
* @memberOf jsxc.storage
|
||||
* @param bid
|
||||
* @param direction
|
||||
* @param msg
|
||||
* @param encrypted
|
||||
* @param forwarded
|
||||
* @param sender
|
||||
* @return post
|
||||
*/
|
||||
saveMessage: function(bid, direction, msg, encrypted, forwarded, stamp, sender) {
|
||||
var chat = jsxc.storage.getUserItem('chat', bid) || [];
|
||||
|
||||
var uid = new Date().getTime() + ':msg';
|
||||
|
||||
if (chat.length > jsxc.options.get('numberOfMsg')) {
|
||||
chat.pop();
|
||||
}
|
||||
|
||||
var post = {
|
||||
direction: direction,
|
||||
msg: msg,
|
||||
uid: uid.replace(/:/, '-'),
|
||||
received: false,
|
||||
encrypted: encrypted || false,
|
||||
forwarded: forwarded || false,
|
||||
stamp: stamp || new Date().getTime(),
|
||||
sender: sender
|
||||
};
|
||||
|
||||
chat.unshift(post);
|
||||
jsxc.storage.setUserItem('chat', bid, chat);
|
||||
|
||||
return post;
|
||||
},
|
||||
|
||||
/**
|
||||
* Save or update buddy data.
|
||||
*
|
||||
@@ -664,13 +634,13 @@ jsxc.storage = {
|
||||
</div>
|
||||
|
||||
<nav>
|
||||
<h2><a href="index.html">Index</a></h2><h3>Namespaces</h3><ul><li><a href="jsxc.html">jsxc</a></li><li><a href="jsxc.gui.html">gui</a></li><li><a href="jsxc.gui.dialog.html">dialog</a></li><li><a href="jsxc.gui.queryActions.html">queryActions</a></li><li><a href="jsxc.gui.roster.html">roster</a></li><li><a href="jsxc.gui.window.html">window</a></li><li><a href="jsxc.muc.html">muc</a></li><li><a href="jsxc.notification.html">notification</a></li><li><a href="jsxc.options.html">options</a></li><li><a href="jsxc.otr.html">otr</a></li><li><a href="jsxc.storage.html">storage</a></li><li><a href="jsxc.webrtc.html">webrtc</a></li><li><a href="jsxc.xmpp.html">xmpp</a></li><li><a href="jsxc.xmpp.bookmarks.html">bookmarks</a></li><li><a href="jsxc.xmpp.carbons.html">carbons</a></li></ul><h3><a href="global.html">Global</a></h3>
|
||||
<h2><a href="index.html">Index</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.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>Global</h3><ul><li>{boolean}</li><li>{integer}</li><li>{string}</li></ul>
|
||||
</nav>
|
||||
|
||||
<br clear="both">
|
||||
|
||||
<footer>
|
||||
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.2.2</a> on Tue Nov 17 2015 17:01:04 GMT+0100 (CET)
|
||||
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.2.2</a> on Fri Mar 11 2016 17:32:12 GMT+0100 (CET)
|
||||
</footer>
|
||||
|
||||
<script> prettyPrint(); </script>
|
||||
|
||||
+327
-196
@@ -25,7 +25,7 @@
|
||||
|
||||
<section>
|
||||
<article>
|
||||
<pre class="prettyprint source"><code>/* global MediaStreamTrack */
|
||||
<pre class="prettyprint source"><code>/* global MediaStreamTrack, File */
|
||||
/* jshint -W020 */
|
||||
|
||||
/**
|
||||
@@ -49,9 +49,12 @@ jsxc.webrtc = {
|
||||
/** should we auto accept incoming calls? */
|
||||
AUTO_ACCEPT: false,
|
||||
|
||||
/** required disco features */
|
||||
/** required disco features for video call */
|
||||
reqVideoFeatures: ['urn:xmpp:jingle:apps:rtp:video', 'urn:xmpp:jingle:apps:rtp:audio', 'urn:xmpp:jingle:transports:ice-udp:1', 'urn:xmpp:jingle:apps:dtls:0'],
|
||||
|
||||
/** required disco features for file transfer */
|
||||
reqFileFeatures: ['urn:xmpp:jingle:1', 'urn:xmpp:jingle:apps:file-transfer:3'],
|
||||
|
||||
/** bare jid to current jid mapping */
|
||||
chatJids: {},
|
||||
|
||||
@@ -80,10 +83,17 @@ jsxc.webrtc = {
|
||||
$(document).on('mediaready.jingle', self.onMediaReady);
|
||||
$(document).on('mediafailure.jingle', self.onMediaFailure);
|
||||
|
||||
manager.on('incoming', $.proxy(self.onCallIncoming, self));
|
||||
manager.on('terminated', $.proxy(self.onCallTerminated, self));
|
||||
manager.on('incoming', $.proxy(self.onIncoming, self));
|
||||
|
||||
manager.on('terminated', $.proxy(self.onTerminated, self));
|
||||
manager.on('ringing', $.proxy(self.onCallRinging, self));
|
||||
|
||||
manager.on('receivedFile', $.proxy(self.onReceivedFile, self));
|
||||
|
||||
manager.on('sentFile', function(sess, metadata) {
|
||||
jsxc.debug('sent ' + metadata.hash);
|
||||
});
|
||||
|
||||
manager.on('peerStreamAdded', $.proxy(self.onRemoteStreamAdded, self));
|
||||
manager.on('peerStreamRemoved', $.proxy(self.onRemoteStreamRemoved, self));
|
||||
|
||||
@@ -160,6 +170,9 @@ jsxc.webrtc = {
|
||||
|
||||
$.ajax(url, {
|
||||
async: true,
|
||||
xhrFields: {
|
||||
withCredentials: jsxc.options.get('RTCPeerConfig').withCredentials
|
||||
},
|
||||
success: function(data) {
|
||||
var ttl = data.ttl || 3600;
|
||||
var iceServers = data.iceServers;
|
||||
@@ -206,20 +219,27 @@ jsxc.webrtc = {
|
||||
},
|
||||
|
||||
/**
|
||||
* Return list of video capable resources.
|
||||
* Return list of capable resources.
|
||||
*
|
||||
* @memberOf jsxc.webrtc
|
||||
* @param jid
|
||||
* @param {(string|string[])} features list of required features
|
||||
* @returns {Array}
|
||||
*/
|
||||
getCapableRes: function(jid) {
|
||||
getCapableRes: function(jid, features) {
|
||||
var self = jsxc.webrtc;
|
||||
var bid = jsxc.jidToBid(jid);
|
||||
var res = jsxc.storage.getUserItem('res', bid) || [];
|
||||
var res = Object.keys(jsxc.storage.getUserItem('res', bid) || {}) || [];
|
||||
|
||||
if (!features) {
|
||||
return res;
|
||||
} else if (typeof features === 'string') {
|
||||
features = [features];
|
||||
}
|
||||
|
||||
var available = [];
|
||||
$.each(res, function(r) {
|
||||
if (self.conn.caps.hasFeatureByJid(bid + '/' + r, self.reqVideoFeatures)) {
|
||||
$.each(res, function(i, r) {
|
||||
if (self.conn.caps.hasFeatureByJid(bid + '/' + r, features)) {
|
||||
available.push(r);
|
||||
}
|
||||
});
|
||||
@@ -227,40 +247,6 @@ jsxc.webrtc = {
|
||||
return available;
|
||||
},
|
||||
|
||||
/**
|
||||
* Add "video" button to roster
|
||||
*
|
||||
* @private
|
||||
* @memberOf jsxc.webrtc
|
||||
* @param event
|
||||
* @param bid bid of roster item
|
||||
* @param data data wich belongs to bid
|
||||
* @param el the roster item
|
||||
*/
|
||||
onAddRosterItem: function(event, bid, data, el) {
|
||||
var self = jsxc.webrtc;
|
||||
|
||||
if (!self.conn) {
|
||||
$(document).one('connectionReady.jsxc', function() {
|
||||
self.onAddRosterItem(null, bid, data, el);
|
||||
});
|
||||
return;
|
||||
}
|
||||
|
||||
var videoIcon = $('<div class="jsxc_video jsxc_disabled" title="' + $.t("Start_video_call") + '"></div>');
|
||||
|
||||
videoIcon.click(function() {
|
||||
self.startCall(data.jid);
|
||||
return false;
|
||||
});
|
||||
|
||||
el.find('.jsxc_options.jsxc_left').append(videoIcon);
|
||||
|
||||
el.on('extra.jsxc', function() {
|
||||
self.updateIcon(bid);
|
||||
});
|
||||
},
|
||||
|
||||
/**
|
||||
* Add "video" button to window menu.
|
||||
*
|
||||
@@ -279,16 +265,16 @@ jsxc.webrtc = {
|
||||
jsxc.debug('webrtc.initWindow');
|
||||
|
||||
if (!self.conn) {
|
||||
$(document).one('connectionReady.jsxc', function() {
|
||||
$(document).one('attached.jsxc', function() {
|
||||
self.initWindow(null, win);
|
||||
});
|
||||
return;
|
||||
}
|
||||
|
||||
var div = $('<div>').addClass('jsxc_video');
|
||||
win.find('.jsxc_transfer:eq(1)').after(div);
|
||||
win.find('.jsxc_tools .jsxc_settings').after(div);
|
||||
|
||||
self.updateIcon(jsxc.jidToBid(win.data('jid')));
|
||||
self.updateIcon(win.data('bid'));
|
||||
},
|
||||
|
||||
/**
|
||||
@@ -319,10 +305,12 @@ jsxc.webrtc = {
|
||||
}
|
||||
}
|
||||
|
||||
var el = win.find('.jsxc_video').add(jsxc.gui.roster.getItem(bid).find('.jsxc_video'));
|
||||
var res = Strophe.getResourceFromJid(jid);
|
||||
|
||||
var capableRes = self.getCapableRes(jid);
|
||||
var targetRes = Strophe.getResourceFromJid(jid);
|
||||
var el = win.find('.jsxc_video');
|
||||
|
||||
var capableRes = self.getCapableRes(jid, self.reqVideoFeatures);
|
||||
var targetRes = res;
|
||||
|
||||
if (targetRes === null) {
|
||||
$.each(jsxc.storage.getUserItem('buddy', bid).res || [], function(index, val) {
|
||||
@@ -350,6 +338,15 @@ jsxc.webrtc = {
|
||||
|
||||
el.attr('title', $.t('Video_call_not_possible'));
|
||||
}
|
||||
|
||||
var fileCapableRes = self.getCapableRes(jid, self.reqFileFeatures);
|
||||
var resources = Object.keys(jsxc.storage.getUserItem('res', bid) || {}) || [];
|
||||
|
||||
if (fileCapableRes.indexOf(res) > -1 || (res === null && fileCapableRes.length === 1 && resources.length === 1)) {
|
||||
win.find('.jsxc_sendFile').removeClass('jsxc_disabled');
|
||||
} else {
|
||||
win.find('.jsxc_sendFile').addClass('jsxc_disabled');
|
||||
}
|
||||
},
|
||||
|
||||
/**
|
||||
@@ -511,10 +508,52 @@ jsxc.webrtc = {
|
||||
|
||||
self.setStatus('media failure');
|
||||
|
||||
jsxc.gui.window.postMessage(jsxc.jidToBid(jsxc.webrtc.last_caller), 'sys', $.t('Media_failure') + ': ' + $.t(err.name) + ' (' + err.name + ').');
|
||||
jsxc.gui.window.postMessage({
|
||||
bid: jsxc.jidToBid(jsxc.webrtc.last_caller),
|
||||
direction: jsxc.Message.SYS,
|
||||
msg: $.t('Media_failure') + ': ' + $.t(err.name) + ' (' + err.name + ').'
|
||||
});
|
||||
|
||||
jsxc.debug('media failure: ' + err.name);
|
||||
},
|
||||
|
||||
onIncoming: function(session) {
|
||||
var self = jsxc.webrtc;
|
||||
var type = (session.constructor) ? session.constructor.name : null;
|
||||
|
||||
if (type === 'FileTransferSession') {
|
||||
self.onIncomingFileTransfer(session);
|
||||
} else if (type === 'MediaSession') {
|
||||
self.onIncomingCall(session);
|
||||
}
|
||||
},
|
||||
|
||||
onIncomingFileTransfer: function(session) {
|
||||
jsxc.debug('incoming file transfer from ' + session.peerID);
|
||||
|
||||
var buddylist = jsxc.storage.getUserItem('buddylist') || [];
|
||||
var bid = jsxc.jidToBid(session.peerID);
|
||||
|
||||
if (buddylist.indexOf(bid) > -1) {
|
||||
//Accept file transfers only from contacts
|
||||
session.accept();
|
||||
|
||||
var message = jsxc.gui.window.postMessage({
|
||||
_uid: session.sid + ':msg',
|
||||
bid: bid,
|
||||
direction: jsxc.Message.IN,
|
||||
attachment: {
|
||||
name: session.receiver.metadata.name,
|
||||
type: session.receiver.metadata.type || 'application/octet-stream'
|
||||
}
|
||||
});
|
||||
|
||||
session.receiver.on('progress', function(sent, size) {
|
||||
jsxc.gui.window.updateProgress(message, sent, size);
|
||||
});
|
||||
}
|
||||
},
|
||||
|
||||
/**
|
||||
* Called on incoming call.
|
||||
*
|
||||
@@ -523,15 +562,19 @@ jsxc.webrtc = {
|
||||
* @param event
|
||||
* @param sid Session id
|
||||
*/
|
||||
onCallIncoming: function(session) {
|
||||
onIncomingCall: function(session) {
|
||||
jsxc.debug('incoming call from ' + session.peerID);
|
||||
|
||||
var self = this;
|
||||
var self = jsxc.webrtc;
|
||||
var bid = jsxc.jidToBid(session.peerID);
|
||||
|
||||
session.on('change:connectionState', $.proxy(self.onIceConnectionStateChanged, self));
|
||||
|
||||
jsxc.gui.window.postMessage(bid, 'sys', $.t('Incoming_call'));
|
||||
jsxc.gui.window.postMessage({
|
||||
bid: bid,
|
||||
direction: jsxc.Message.SYS,
|
||||
msg: $.t('Incoming_call')
|
||||
});
|
||||
|
||||
// display notification
|
||||
jsxc.notification.notify($.t('Incoming_call'), $.t('from_sender', {
|
||||
@@ -579,6 +622,15 @@ jsxc.webrtc = {
|
||||
});
|
||||
},
|
||||
|
||||
onTerminated: function(session, reason) {
|
||||
var self = jsxc.webrtc;
|
||||
var type = (session.constructor) ? session.constructor.name : null;
|
||||
|
||||
if (type === 'MediaSession') {
|
||||
self.onCallTerminated(session, reason);
|
||||
}
|
||||
},
|
||||
|
||||
/**
|
||||
* Called if call is terminated.
|
||||
*
|
||||
@@ -590,12 +642,19 @@ jsxc.webrtc = {
|
||||
* @param [text] Optional explanation
|
||||
*/
|
||||
onCallTerminated: function(session, reason) {
|
||||
this.setStatus('call terminated ' + session.peer + (reason ? reason.condition : ''));
|
||||
this.setStatus('call terminated ' + session.peerID + (reason ? reason.condition : ''));
|
||||
|
||||
var bid = jsxc.jidToBid(session.peer);
|
||||
var bid = jsxc.jidToBid(session.peerID);
|
||||
|
||||
if (this.localStream) {
|
||||
this.localStream.stop();
|
||||
if (typeof this.localStream.stop === 'function') {
|
||||
this.localStream.stop();
|
||||
} else {
|
||||
var tracks = this.localStream.getTracks();
|
||||
tracks.forEach(function(track) {
|
||||
track.stop();
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
if ($('.jsxc_videoContainer').length) {
|
||||
@@ -607,15 +666,15 @@ jsxc.webrtc = {
|
||||
this.localStream = null;
|
||||
this.remoteStream = null;
|
||||
|
||||
var win = $('#jsxc_dialog .jsxc_chatarea > ul > li');
|
||||
$('#jsxc_windowList > ul').prepend(win.detach());
|
||||
win.find('.slimScrollDiv').resizable('enable');
|
||||
jsxc.gui.closeVideoWindow();
|
||||
|
||||
$(document).off('cleanup.dialog.jsxc');
|
||||
$(document).off('error.jingle');
|
||||
jsxc.gui.dialog.close();
|
||||
|
||||
jsxc.gui.window.postMessage(bid, 'sys', ($.t('Call_terminated') + (reason ? (': ' + $.t('jingle_reason_' + reason.condition)) : '') + '.'));
|
||||
jsxc.gui.window.postMessage({
|
||||
bid: bid,
|
||||
direction: jsxc.Message.SYS,
|
||||
msg: ($.t('Call_terminated') + (reason ? (': ' + $.t('jingle_reason_' + reason.condition)) : '') + '.')
|
||||
});
|
||||
},
|
||||
|
||||
/**
|
||||
@@ -649,9 +708,9 @@ jsxc.webrtc = {
|
||||
this.setStatus(isAudioDevice ? 'Use remote audio device.' : 'No remote audio device');
|
||||
|
||||
if ($('.jsxc_remotevideo').length) {
|
||||
this.attachMediaStream($('#jsxc_dialog .jsxc_remotevideo'), stream);
|
||||
this.attachMediaStream($('#jsxc_webrtc .jsxc_remotevideo'), stream);
|
||||
|
||||
$('#jsxc_dialog .jsxc_' + (isVideoDevice ? 'remotevideo' : 'noRemoteVideo')).addClass('jsxc_deviceAvailable');
|
||||
$('#jsxc_webrtc .jsxc_' + (isVideoDevice ? 'remotevideo' : 'noRemoteVideo')).addClass('jsxc_deviceAvailable');
|
||||
}
|
||||
},
|
||||
|
||||
@@ -699,13 +758,15 @@ jsxc.webrtc = {
|
||||
|
||||
if (state === 'connected') {
|
||||
|
||||
$('#jsxc_dialog .jsxc_deviceAvailable').show();
|
||||
$('#jsxc_dialog .bubblingG').hide();
|
||||
$('#jsxc_webrtc .jsxc_deviceAvailable').show();
|
||||
$('#jsxc_webrtc .bubblingG').hide();
|
||||
|
||||
} else if (state === 'failed') {
|
||||
jsxc.gui.window.postMessage(jsxc.jidToBid(session.peerID), 'sys', $.t('ICE_connection_failure'));
|
||||
|
||||
$(document).off('cleanup.dialog.jsxc');
|
||||
jsxc.gui.window.postMessage({
|
||||
bid: jsxc.jidToBid(session.peerID),
|
||||
direction: jsxc.Message.SYS,
|
||||
msg: $.t('ICE_connection_failure')
|
||||
});
|
||||
|
||||
session.end('failed-transport');
|
||||
|
||||
@@ -736,14 +797,17 @@ jsxc.webrtc = {
|
||||
'finish.mediaready.jsxc': function() {
|
||||
self.setStatus('Initiate call');
|
||||
|
||||
jsxc.gui.window.postMessage(jsxc.jidToBid(jid), 'sys', $.t('Call_started'));
|
||||
jsxc.gui.window.postMessage({
|
||||
bid: jsxc.jidToBid(jid),
|
||||
direction: jsxc.Message.SYS,
|
||||
msg: $.t('Call_started')
|
||||
});
|
||||
|
||||
$(document).one('error.jingle', function(e, sid, error) {
|
||||
if (error.source !== 'offer') {
|
||||
if (error && error.source !== 'offer') {
|
||||
return;
|
||||
}
|
||||
|
||||
$(document).off('cleanup.dialog.jsxc');
|
||||
setTimeout(function() {
|
||||
jsxc.gui.showAlert("Sorry, we couldn't establish a connection. Maybe your buddy is offline.");
|
||||
}, 500);
|
||||
@@ -767,9 +831,13 @@ jsxc.webrtc = {
|
||||
* @memberOf jsxc.webrtc
|
||||
*/
|
||||
hangUp: function(reason, text) {
|
||||
$(document).off('cleanup.dialog.jsxc');
|
||||
if (jsxc.webrtc.conn.jingle.manager && !$.isEmptyObject(jsxc.webrtc.conn.jingle.manager.peers)) {
|
||||
jsxc.webrtc.conn.jingle.terminate(null, reason, text);
|
||||
} else {
|
||||
jsxc.gui.closeVideoWindow();
|
||||
}
|
||||
|
||||
jsxc.webrtc.conn.jingle.terminate(null, reason, text);
|
||||
// @TODO check event
|
||||
$(document).trigger('callterminated.jingle');
|
||||
},
|
||||
|
||||
@@ -876,6 +944,105 @@ jsxc.webrtc = {
|
||||
$('.jsxc_snapshotbar').append(link);
|
||||
|
||||
canvas.remove();
|
||||
},
|
||||
|
||||
/**
|
||||
* Send file to full jid.
|
||||
*
|
||||
* @memberOf jsxc.webrtc
|
||||
* @param {string} jid full jid
|
||||
* @param {file} file
|
||||
* @return {object} session
|
||||
*/
|
||||
sendFile: function(jid, file) {
|
||||
var self = jsxc.webrtc;
|
||||
|
||||
var sess = self.conn.jingle.manager.createFileTransferSession(jid);
|
||||
|
||||
sess.on('change:sessionState', function() {
|
||||
jsxc.debug('Session state', sess.state);
|
||||
});
|
||||
sess.on('change:connectionState', function() {
|
||||
jsxc.debug('Connection state', sess.connectionState);
|
||||
});
|
||||
|
||||
sess.start(file);
|
||||
|
||||
return sess;
|
||||
},
|
||||
|
||||
/**
|
||||
* Display received file.
|
||||
*
|
||||
* @memberOf jsxc.webrtc
|
||||
* @param {object} sess
|
||||
* @param {File} file
|
||||
* @param {object} metadata file metadata
|
||||
*/
|
||||
onReceivedFile: function(sess, file, metadata) {
|
||||
jsxc.debug('file received', metadata);
|
||||
|
||||
if (!FileReader) {
|
||||
return;
|
||||
}
|
||||
|
||||
var reader = new FileReader();
|
||||
var type;
|
||||
|
||||
if (!metadata.type) {
|
||||
// detect file type via file extension, because XEP-0234 v0.14
|
||||
// does not send any type
|
||||
var ext = metadata.name.replace(/.+\.([a-z0-9]+)$/i, '$1').toLowerCase();
|
||||
|
||||
switch (ext) {
|
||||
case 'jpg':
|
||||
case 'jpeg':
|
||||
case 'png':
|
||||
case 'gif':
|
||||
case 'svg':
|
||||
type = 'image/' + ext.replace(/^jpg$/, 'jpeg');
|
||||
break;
|
||||
case 'mp3':
|
||||
case 'wav':
|
||||
type = 'audio/' + ext;
|
||||
break;
|
||||
case 'pdf':
|
||||
type = 'application/pdf';
|
||||
break;
|
||||
case 'txt':
|
||||
type = 'text/' + ext;
|
||||
break;
|
||||
default:
|
||||
type = 'application/octet-stream';
|
||||
}
|
||||
} else {
|
||||
type = metadata.type;
|
||||
}
|
||||
|
||||
reader.onload = function(ev) {
|
||||
// modify element with uid metadata.actualhash
|
||||
|
||||
jsxc.gui.window.postMessage({
|
||||
_uid: sess.sid + ':msg',
|
||||
bid: jsxc.jidToBid(sess.peerID),
|
||||
direction: jsxc.Message.IN,
|
||||
attachment: {
|
||||
name: metadata.name,
|
||||
type: type,
|
||||
size: metadata.size,
|
||||
data: ev.target.result
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
if (!file.type) {
|
||||
// file type should be handled in lib
|
||||
file = new File([file], metadata.name, {
|
||||
type: type
|
||||
});
|
||||
}
|
||||
|
||||
reader.readAsDataURL(file);
|
||||
}
|
||||
};
|
||||
|
||||
@@ -887,129 +1054,94 @@ jsxc.webrtc = {
|
||||
jsxc.gui.showVideoWindow = function(jid) {
|
||||
var self = jsxc.webrtc;
|
||||
|
||||
$(document).one('complete.dialog.jsxc', function() {
|
||||
|
||||
// mute own video element to avoid echoes
|
||||
$('#jsxc_dialog .jsxc_localvideo')[0].muted = true;
|
||||
$('#jsxc_dialog .jsxc_localvideo')[0].volume = 0;
|
||||
|
||||
var rv = $('#jsxc_dialog .jsxc_remotevideo');
|
||||
var lv = $('#jsxc_dialog .jsxc_localvideo');
|
||||
|
||||
lv.draggable({
|
||||
containment: "parent"
|
||||
});
|
||||
|
||||
self.attachMediaStream(lv, self.localStream);
|
||||
|
||||
var w_dialog = $('#jsxc_dialog').width();
|
||||
var w_remote = rv.width();
|
||||
|
||||
// fit in video
|
||||
if (w_remote > w_dialog) {
|
||||
var scale = w_dialog / w_remote;
|
||||
var new_h = rv.height() * scale;
|
||||
var new_w = w_dialog;
|
||||
var vc = $('#jsxc_dialog .jsxc_videoContainer');
|
||||
|
||||
rv.height(new_h);
|
||||
rv.width(new_w);
|
||||
|
||||
vc.height(new_h);
|
||||
vc.width(new_w);
|
||||
|
||||
lv.height(lv.height() * scale);
|
||||
lv.width(lv.width() * scale);
|
||||
}
|
||||
|
||||
if (self.remoteStream) {
|
||||
self.attachMediaStream(rv, self.remoteStream);
|
||||
|
||||
$('#jsxc_dialog .jsxc_' + (self.remoteStream.getVideoTracks().length > 0 ? 'remotevideo' : 'noRemoteVideo')).addClass('jsxc_deviceAvailable');
|
||||
}
|
||||
|
||||
var toggleMulti = function(elem, open) {
|
||||
$('#jsxc_dialog .jsxc_multi > div').not(elem).slideUp();
|
||||
|
||||
var opt = {
|
||||
complete: jsxc.gui.dialog.resize
|
||||
};
|
||||
|
||||
if (open) {
|
||||
elem.slideDown(opt);
|
||||
} else {
|
||||
elem.slideToggle(opt);
|
||||
}
|
||||
};
|
||||
|
||||
var win = jsxc.gui.window.open(jsxc.jidToBid(jid));
|
||||
|
||||
win.find('.slimScrollDiv').resizable('disable');
|
||||
win.find('.jsxc_textarea').slimScroll({
|
||||
height: 413
|
||||
});
|
||||
win.find('.jsxc_emoticons').css('top', (413 + 6) + 'px');
|
||||
|
||||
$('#jsxc_dialog .jsxc_chatarea ul').append(win.detach());
|
||||
|
||||
$('#jsxc_dialog .jsxc_hangUp').click(function() {
|
||||
jsxc.webrtc.hangUp('success');
|
||||
});
|
||||
|
||||
$('#jsxc_dialog .jsxc_snapshot').click(function() {
|
||||
jsxc.webrtc.snapshot(rv);
|
||||
toggleMulti($('#jsxc_dialog .jsxc_snapshotbar'), true);
|
||||
});
|
||||
|
||||
$('#jsxc_dialog .jsxc_snapshots').click(function() {
|
||||
toggleMulti($('#jsxc_dialog .jsxc_snapshotbar'));
|
||||
});
|
||||
|
||||
$('#jsxc_dialog .jsxc_showchat').click(function() {
|
||||
var chatarea = $('#jsxc_dialog .jsxc_chatarea');
|
||||
|
||||
if (chatarea.is(':hidden')) {
|
||||
chatarea.show();
|
||||
$('#jsxc_dialog .jsxc_webrtc').width('900');
|
||||
jsxc.gui.dialog.resize({
|
||||
width: '920px'
|
||||
});
|
||||
} else {
|
||||
chatarea.hide();
|
||||
$('#jsxc_dialog .jsxc_webrtc').width('650');
|
||||
jsxc.gui.dialog.resize({
|
||||
width: '660px'
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
$('#jsxc_dialog .jsxc_fullscreen').click(function() {
|
||||
|
||||
if ($.support.fullscreen) {
|
||||
// Reset position of localvideo
|
||||
$(document).one('disabled.fullscreen', function() {
|
||||
lv.removeAttr('style');
|
||||
});
|
||||
|
||||
$('#jsxc_dialog .jsxc_videoContainer').fullscreen();
|
||||
}
|
||||
});
|
||||
|
||||
$('#jsxc_dialog .jsxc_volume').change(function() {
|
||||
rv[0].volume = $(this).val();
|
||||
});
|
||||
|
||||
$('#jsxc_dialog .jsxc_volume').dblclick(function() {
|
||||
$(this).val(0.5);
|
||||
});
|
||||
});
|
||||
|
||||
// needed to trigger complete.dialog.jsxc
|
||||
jsxc.gui.dialog.close();
|
||||
|
||||
return jsxc.gui.dialog.open(jsxc.gui.template.get('videoWindow'), {
|
||||
noClose: true
|
||||
$('body').append(jsxc.gui.template.get('videoWindow'));
|
||||
|
||||
// mute own video element to avoid echoes
|
||||
$('#jsxc_webrtc .jsxc_localvideo')[0].muted = true;
|
||||
$('#jsxc_webrtc .jsxc_localvideo')[0].volume = 0;
|
||||
|
||||
var rv = $('#jsxc_webrtc .jsxc_remotevideo');
|
||||
var lv = $('#jsxc_webrtc .jsxc_localvideo');
|
||||
|
||||
lv.draggable({
|
||||
containment: "parent"
|
||||
});
|
||||
|
||||
if (self.localStream) {
|
||||
self.attachMediaStream(lv, self.localStream);
|
||||
}
|
||||
|
||||
var w_dialog = $('#jsxc_webrtc').width();
|
||||
var w_remote = rv.width();
|
||||
|
||||
// fit in video
|
||||
if (w_remote > w_dialog) {
|
||||
var scale = w_dialog / w_remote;
|
||||
var new_h = rv.height() * scale;
|
||||
var new_w = w_dialog;
|
||||
var vc = $('#jsxc_webrtc .jsxc_videoContainer');
|
||||
|
||||
rv.height(new_h);
|
||||
rv.width(new_w);
|
||||
|
||||
vc.height(new_h);
|
||||
vc.width(new_w);
|
||||
|
||||
lv.height(lv.height() * scale);
|
||||
lv.width(lv.width() * scale);
|
||||
}
|
||||
|
||||
if (self.remoteStream) {
|
||||
self.attachMediaStream(rv, self.remoteStream);
|
||||
|
||||
$('#jsxc_webrtc .jsxc_' + (self.remoteStream.getVideoTracks().length > 0 ? 'remotevideo' : 'noRemoteVideo')).addClass('jsxc_deviceAvailable');
|
||||
}
|
||||
|
||||
var win = jsxc.gui.window.open(jsxc.jidToBid(jid));
|
||||
|
||||
win.find('.slimScrollDiv').resizable('disable');
|
||||
jsxc.gui.window.resize(win, {
|
||||
size: {
|
||||
width: $('#jsxc_webrtc .jsxc_chatarea').width(),
|
||||
height: $('#jsxc_webrtc .jsxc_chatarea').height()
|
||||
}
|
||||
}, true);
|
||||
|
||||
$('#jsxc_webrtc .jsxc_chatarea ul').append(win.detach());
|
||||
|
||||
$('#jsxc_webrtc .jsxc_hangUp').click(function() {
|
||||
jsxc.webrtc.hangUp('success');
|
||||
});
|
||||
|
||||
$('#jsxc_webrtc .jsxc_fullscreen').click(function() {
|
||||
|
||||
if ($.support.fullscreen) {
|
||||
// Reset position of localvideo
|
||||
$(document).one('disabled.fullscreen', function() {
|
||||
lv.removeAttr('style');
|
||||
});
|
||||
|
||||
$('#jsxc_webrtc .jsxc_videoContainer').fullscreen();
|
||||
}
|
||||
});
|
||||
|
||||
$('#jsxc_webrtc .jsxc_videoContainer').click(function() {
|
||||
$('#jsxc_webrtc .jsxc_controlbar').toggleClass('jsxc_visible');
|
||||
});
|
||||
|
||||
return $('#jsxc_webrtc');
|
||||
};
|
||||
|
||||
jsxc.gui.closeVideoWindow = function() {
|
||||
var win = $('#jsxc_webrtc .jsxc_chatarea > ul > li');
|
||||
$('#jsxc_windowList > ul').prepend(win.detach());
|
||||
win.find('.slimScrollDiv').resizable('enable');
|
||||
jsxc.gui.window.resize(win);
|
||||
|
||||
$('#jsxc_webrtc').remove();
|
||||
};
|
||||
|
||||
$.extend(jsxc.CONST, {
|
||||
@@ -1018,7 +1150,6 @@ $.extend(jsxc.CONST, {
|
||||
});
|
||||
|
||||
$(document).ready(function() {
|
||||
$(document).on('add.roster.jsxc', jsxc.webrtc.onAddRosterItem);
|
||||
$(document).on('init.window.jsxc', jsxc.webrtc.initWindow);
|
||||
$(document).on('attached.jsxc', jsxc.webrtc.init);
|
||||
$(document).on('disconnected.jsxc', jsxc.webrtc.onDisconnected);
|
||||
@@ -1034,13 +1165,13 @@ $(document).ready(function() {
|
||||
</div>
|
||||
|
||||
<nav>
|
||||
<h2><a href="index.html">Index</a></h2><h3>Namespaces</h3><ul><li><a href="jsxc.html">jsxc</a></li><li><a href="jsxc.gui.html">gui</a></li><li><a href="jsxc.gui.dialog.html">dialog</a></li><li><a href="jsxc.gui.queryActions.html">queryActions</a></li><li><a href="jsxc.gui.roster.html">roster</a></li><li><a href="jsxc.gui.window.html">window</a></li><li><a href="jsxc.muc.html">muc</a></li><li><a href="jsxc.notification.html">notification</a></li><li><a href="jsxc.options.html">options</a></li><li><a href="jsxc.otr.html">otr</a></li><li><a href="jsxc.storage.html">storage</a></li><li><a href="jsxc.webrtc.html">webrtc</a></li><li><a href="jsxc.xmpp.html">xmpp</a></li><li><a href="jsxc.xmpp.bookmarks.html">bookmarks</a></li><li><a href="jsxc.xmpp.carbons.html">carbons</a></li></ul><h3><a href="global.html">Global</a></h3>
|
||||
<h2><a href="index.html">Index</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.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>Global</h3><ul><li>{boolean}</li><li>{integer}</li><li>{string}</li></ul>
|
||||
</nav>
|
||||
|
||||
<br clear="both">
|
||||
|
||||
<footer>
|
||||
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.2.2</a> on Tue Nov 17 2015 17:01:04 GMT+0100 (CET)
|
||||
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.2.2</a> on Fri Mar 11 2016 17:32:12 GMT+0100 (CET)
|
||||
</footer>
|
||||
|
||||
<script> prettyPrint(); </script>
|
||||
|
||||
@@ -376,13 +376,13 @@ jsxc.xmpp.bookmarks.showDialog = function(room) {
|
||||
</div>
|
||||
|
||||
<nav>
|
||||
<h2><a href="index.html">Index</a></h2><h3>Namespaces</h3><ul><li><a href="jsxc.html">jsxc</a></li><li><a href="jsxc.gui.html">gui</a></li><li><a href="jsxc.gui.dialog.html">dialog</a></li><li><a href="jsxc.gui.queryActions.html">queryActions</a></li><li><a href="jsxc.gui.roster.html">roster</a></li><li><a href="jsxc.gui.window.html">window</a></li><li><a href="jsxc.muc.html">muc</a></li><li><a href="jsxc.notification.html">notification</a></li><li><a href="jsxc.options.html">options</a></li><li><a href="jsxc.otr.html">otr</a></li><li><a href="jsxc.storage.html">storage</a></li><li><a href="jsxc.webrtc.html">webrtc</a></li><li><a href="jsxc.xmpp.html">xmpp</a></li><li><a href="jsxc.xmpp.bookmarks.html">bookmarks</a></li><li><a href="jsxc.xmpp.carbons.html">carbons</a></li></ul><h3><a href="global.html">Global</a></h3>
|
||||
<h2><a href="index.html">Index</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.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>Global</h3><ul><li>{boolean}</li><li>{integer}</li><li>{string}</li></ul>
|
||||
</nav>
|
||||
|
||||
<br clear="both">
|
||||
|
||||
<footer>
|
||||
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.2.2</a> on Tue Nov 17 2015 17:01:04 GMT+0100 (CET)
|
||||
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.2.2</a> on Fri Mar 11 2016 17:32:12 GMT+0100 (CET)
|
||||
</footer>
|
||||
|
||||
<script> prettyPrint(); </script>
|
||||
|
||||
+107
-76
@@ -90,14 +90,29 @@ jsxc.xmpp = {
|
||||
}
|
||||
}
|
||||
|
||||
if (!jid) {
|
||||
jsxc.warn('Jid required for login');
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
if (!jsxc.bid) {
|
||||
jsxc.bid = jsxc.jidToBid(jid);
|
||||
}
|
||||
|
||||
var url = jsxc.options.get('xmpp').url;
|
||||
|
||||
if (!url) {
|
||||
jsxc.warn('xmpp.url required for login');
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
if (!(jsxc.xmpp.conn && jsxc.xmpp.conn.connected)) {
|
||||
// Register eventlistener
|
||||
$(document).on('connected.jsxc', jsxc.xmpp.connected);
|
||||
$(document).on('attached.jsxc', jsxc.xmpp.attached);
|
||||
$(document).on('disconnected.jsxc', jsxc.xmpp.disconnected);
|
||||
$(document).on('ridChange', jsxc.xmpp.onRidChange);
|
||||
$(document).on('connfail.jsxc', jsxc.xmpp.onConnfail);
|
||||
$(document).on('authfail.jsxc', jsxc.xmpp.onAuthFail);
|
||||
|
||||
@@ -107,15 +122,6 @@ jsxc.xmpp = {
|
||||
// Create new connection (no login)
|
||||
jsxc.xmpp.conn = new Strophe.Connection(url);
|
||||
|
||||
// Override default function to preserve unique id
|
||||
var stropheGetUniqueId = jsxc.xmpp.conn.getUniqueId;
|
||||
jsxc.xmpp.conn.getUniqueId = function(suffix) {
|
||||
var uid = stropheGetUniqueId.call(jsxc.xmpp.conn, suffix);
|
||||
jsxc.storage.setItem('_uniqueId', jsxc.xmpp.conn._uniqueId);
|
||||
|
||||
return uid;
|
||||
};
|
||||
|
||||
if (jsxc.storage.getItem('debug') === true) {
|
||||
jsxc.xmpp.conn.xmlInput = function(data) {
|
||||
console.log('<', data);
|
||||
@@ -125,6 +131,8 @@ jsxc.xmpp = {
|
||||
};
|
||||
}
|
||||
|
||||
jsxc.xmpp.conn.nextValidRid = jsxc.xmpp.onRidChange;
|
||||
|
||||
var callback = function(status, condition) {
|
||||
|
||||
jsxc.debug(Object.getOwnPropertyNames(Strophe.Status)[status] + ': ' + condition);
|
||||
@@ -156,9 +164,12 @@ jsxc.xmpp = {
|
||||
jsxc.xmpp.conn.caps.node = 'http://jsxc.org/';
|
||||
}
|
||||
|
||||
if (jsxc.restore && sid && rid) {
|
||||
if (sid && rid) {
|
||||
jsxc.debug('Try to attach');
|
||||
jsxc.debug('SID: ' + sid);
|
||||
|
||||
jsxc.reconnect = true;
|
||||
|
||||
jsxc.xmpp.conn.attach(jid, sid, rid, callback);
|
||||
} else {
|
||||
jsxc.debug('New connection');
|
||||
@@ -182,7 +193,7 @@ jsxc.xmpp = {
|
||||
}, Strophe.NS.CAPS);
|
||||
}
|
||||
|
||||
jsxc.xmpp.conn.connect(jid || jsxc.options.xmpp.jid, password || jsxc.options.xmpp.password, callback);
|
||||
jsxc.xmpp.conn.connect(jid, password || jsxc.options.xmpp.password, callback);
|
||||
}
|
||||
},
|
||||
|
||||
@@ -200,7 +211,7 @@ jsxc.xmpp = {
|
||||
// clean up
|
||||
jsxc.storage.removeUserItem('buddylist');
|
||||
jsxc.storage.removeUserItem('windowlist');
|
||||
jsxc.storage.removeItem('_uniqueId');
|
||||
jsxc.storage.removeUserItem('unreadMsg');
|
||||
|
||||
if (!jsxc.master) {
|
||||
$('#jsxc_roster').remove();
|
||||
@@ -262,45 +273,27 @@ jsxc.xmpp = {
|
||||
|
||||
jsxc.xmpp.conn.pause();
|
||||
|
||||
var nomJid = Strophe.getBareJidFromJid(jsxc.xmpp.conn.jid).toLowerCase() + '/' + Strophe.getResourceFromJid(jsxc.xmpp.conn.jid);
|
||||
jsxc.xmpp.initNewConnection();
|
||||
|
||||
// Save sid and jid
|
||||
jsxc.storage.setItem('sid', jsxc.xmpp.conn._proto.sid);
|
||||
jsxc.storage.setItem('jid', nomJid);
|
||||
|
||||
jsxc.storage.setItem('lastActivity', (new Date()).getTime());
|
||||
|
||||
// make shure roster will be reloaded
|
||||
jsxc.storage.removeUserItem('buddylist');
|
||||
|
||||
jsxc.storage.removeUserItem('windowlist');
|
||||
jsxc.storage.removeUserItem('own');
|
||||
jsxc.storage.removeUserItem('avatar', 'own');
|
||||
jsxc.storage.removeUserItem('otrlist');
|
||||
jsxc.storage.removeUserItem('unreadMsg');
|
||||
|
||||
// reset user options
|
||||
jsxc.storage.removeUserElement('options', 'RTCPeerConfig');
|
||||
jsxc.xmpp.saveSessionParameter();
|
||||
|
||||
if (jsxc.options.loginForm.triggered) {
|
||||
switch (jsxc.options.loginForm.onConnected || 'submit') {
|
||||
case 'submit':
|
||||
jsxc.submitLoginForm();
|
||||
/* falls through */
|
||||
return;
|
||||
case false:
|
||||
jsxc.xmpp.connectionReady();
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
// start chat
|
||||
|
||||
jsxc.gui.init();
|
||||
$('#jsxc_roster').removeClass('jsxc_noConnection');
|
||||
jsxc.onMaster();
|
||||
jsxc.xmpp.conn.resume();
|
||||
jsxc.gui.dialog.close();
|
||||
jsxc.restoreCompleted = true;
|
||||
|
||||
jsxc.xmpp.conn.resume();
|
||||
jsxc.onMaster();
|
||||
|
||||
$(document).trigger('attached.jsxc');
|
||||
},
|
||||
|
||||
@@ -311,11 +304,15 @@ jsxc.xmpp = {
|
||||
*/
|
||||
attached: function() {
|
||||
|
||||
$('#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.onReceived, null, 'message');
|
||||
jsxc.xmpp.conn.addHandler(jsxc.xmpp.onPresence, null, 'presence');
|
||||
|
||||
jsxc.gui.init();
|
||||
|
||||
var caps = jsxc.xmpp.conn.caps;
|
||||
var domain = jsxc.xmpp.conn.domain;
|
||||
|
||||
@@ -354,7 +351,7 @@ jsxc.xmpp = {
|
||||
}
|
||||
|
||||
// Only load roaster if necessary
|
||||
if (!jsxc.restore || !jsxc.storage.getUserItem('buddylist')) {
|
||||
if (!jsxc.reconnect || !jsxc.storage.getUserItem('buddylist')) {
|
||||
// in order to not overide existing presence information, we send
|
||||
// pres first after roster is ready
|
||||
$(document).one('cloaded.roster.jsxc', jsxc.xmpp.sendPres);
|
||||
@@ -370,20 +367,42 @@ jsxc.xmpp = {
|
||||
jsxc.xmpp.conn.sendIQ(iq, jsxc.xmpp.onRoster);
|
||||
} else {
|
||||
jsxc.xmpp.sendPres();
|
||||
|
||||
if (!jsxc.restoreCompleted) {
|
||||
jsxc.restoreRoster();
|
||||
jsxc.restoreWindows();
|
||||
jsxc.restoreCompleted = true;
|
||||
|
||||
$(document).trigger('restoreCompleted.jsxc');
|
||||
}
|
||||
}
|
||||
|
||||
jsxc.xmpp.connectionReady();
|
||||
jsxc.xmpp.saveSessionParameter();
|
||||
|
||||
jsxc.masterActions();
|
||||
},
|
||||
|
||||
/**
|
||||
* Triggered if the connection is ready
|
||||
*/
|
||||
connectionReady: function() {
|
||||
saveSessionParameter: function() {
|
||||
|
||||
// Load saved unique id
|
||||
jsxc.xmpp.conn._uniqueId = jsxc.storage.getItem('_uniqueId') || new Date().getTime();
|
||||
var nomJid = Strophe.getBareJidFromJid(jsxc.xmpp.conn.jid).toLowerCase() + '/' + Strophe.getResourceFromJid(jsxc.xmpp.conn.jid);
|
||||
|
||||
$(document).trigger('connectionReady.jsxc');
|
||||
// Save sid and jid
|
||||
jsxc.storage.setItem('sid', jsxc.xmpp.conn._proto.sid);
|
||||
jsxc.storage.setItem('jid', nomJid);
|
||||
},
|
||||
|
||||
initNewConnection: function() {
|
||||
// make shure roster will be reloaded
|
||||
jsxc.storage.removeUserItem('buddylist');
|
||||
|
||||
jsxc.storage.removeUserItem('windowlist');
|
||||
jsxc.storage.removeUserItem('own');
|
||||
jsxc.storage.removeUserItem('avatar', 'own');
|
||||
jsxc.storage.removeUserItem('otrlist');
|
||||
jsxc.storage.removeUserItem('unreadMsg');
|
||||
|
||||
// reset user options
|
||||
jsxc.storage.removeUserElement('options', 'RTCPeerConfig');
|
||||
},
|
||||
|
||||
/**
|
||||
@@ -427,9 +446,9 @@ jsxc.xmpp = {
|
||||
disconnected: function() {
|
||||
jsxc.debug('disconnected');
|
||||
|
||||
jsxc.storage.removeItem('jid');
|
||||
jsxc.storage.removeItem('sid');
|
||||
jsxc.storage.removeItem('rid');
|
||||
jsxc.storage.removeItem('lastActivity');
|
||||
jsxc.storage.removeItem('hidden');
|
||||
jsxc.storage.removeUserItem('avatar', 'own');
|
||||
jsxc.storage.removeUserItem('otrlist');
|
||||
@@ -437,7 +456,6 @@ jsxc.xmpp = {
|
||||
$(document).off('connected.jsxc', jsxc.xmpp.connected);
|
||||
$(document).off('attached.jsxc', jsxc.xmpp.attached);
|
||||
$(document).off('disconnected.jsxc', jsxc.xmpp.disconnected);
|
||||
$(document).off('ridChange', jsxc.xmpp.onRidChange);
|
||||
$(document).off('connfail.jsxc', jsxc.xmpp.onConnfail);
|
||||
$(document).off('authfail.jsxc', jsxc.xmpp.onAuthFail);
|
||||
|
||||
@@ -669,6 +687,19 @@ jsxc.xmpp = {
|
||||
|
||||
// incoming friendship request
|
||||
if (ptype === 'subscribe') {
|
||||
var bl = jsxc.storage.getUserItem('buddylist');
|
||||
|
||||
if (bl.indexOf(bid) > -1) {
|
||||
jsxc.debug('Auto approve contact request, because he is already in our contact list.');
|
||||
|
||||
jsxc.xmpp.resFriendReq(jid, true);
|
||||
if (data.sub !== 'to') {
|
||||
jsxc.xmpp.addBuddy(jid, data.name);
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
jsxc.storage.setUserItem('friendReq', {
|
||||
jid: jid,
|
||||
approve: -1
|
||||
@@ -802,10 +833,17 @@ jsxc.xmpp = {
|
||||
stamp = stamp.getTime();
|
||||
|
||||
if (carbon) {
|
||||
var direction = (carbon.prop("tagName") === 'sent') ? 'out' : 'in';
|
||||
var direction = (carbon.prop("tagName") === 'sent') ? jsxc.Message.OUT : jsxc.Message.IN;
|
||||
bid = jsxc.jidToBid((direction === 'out') ? $(message).attr('to') : from);
|
||||
|
||||
jsxc.gui.window.postMessage(bid, direction, body, false, forwarded, stamp);
|
||||
jsxc.gui.window.postMessage({
|
||||
bid: bid,
|
||||
direction: direction,
|
||||
msg: body,
|
||||
encrypted: false,
|
||||
forwarded: forwarded,
|
||||
stamp: stamp
|
||||
});
|
||||
|
||||
return true;
|
||||
|
||||
@@ -872,7 +910,14 @@ jsxc.xmpp = {
|
||||
forwarded: forwarded
|
||||
});
|
||||
} else {
|
||||
jsxc.gui.window.postMessage(bid, 'in', body, false, forwarded, stamp);
|
||||
jsxc.gui.window.postMessage({
|
||||
bid: bid,
|
||||
direction: jsxc.Message.IN,
|
||||
msg: body,
|
||||
encrypted: false,
|
||||
forwarded: forwarded,
|
||||
stamp: stamp
|
||||
});
|
||||
}
|
||||
|
||||
// preserve handler
|
||||
@@ -882,12 +927,11 @@ jsxc.xmpp = {
|
||||
/**
|
||||
* Triggerd if the rid changed
|
||||
*
|
||||
* @param {event} ev
|
||||
* @param {obejct} data
|
||||
* @param {integer} rid next valid request id
|
||||
* @private
|
||||
*/
|
||||
onRidChange: function(ev, data) {
|
||||
jsxc.storage.setItem('rid', data.rid);
|
||||
onRidChange: function(rid) {
|
||||
jsxc.storage.setItem('rid', rid);
|
||||
},
|
||||
|
||||
/**
|
||||
@@ -969,27 +1013,14 @@ jsxc.xmpp = {
|
||||
jsxc.gui.roster.purge(bid);
|
||||
},
|
||||
|
||||
onReceived: function(message) {
|
||||
var from = $(message).attr('from');
|
||||
var jid = Strophe.getBareJidFromJid(from);
|
||||
var bid = jsxc.jidToBid(jid);
|
||||
var received = $(message).find("received[xmlns='urn:xmpp:receipts']");
|
||||
onReceived: function(stanza) {
|
||||
var received = $(stanza).find("received[xmlns='urn:xmpp:receipts']");
|
||||
|
||||
if (received.length) {
|
||||
var receivedId = received.attr('id').replace(/:/, '-');
|
||||
var chat = jsxc.storage.getUserItem('chat', bid);
|
||||
var i;
|
||||
var receivedId = received.attr('id');
|
||||
var message = new jsxc.Message(receivedId);
|
||||
|
||||
for (i = chat.length - 1; i >= 0; i--) {
|
||||
if (chat[i].uid === receivedId) {
|
||||
chat[i].received = true;
|
||||
|
||||
$('#' + receivedId).addClass('jsxc_received');
|
||||
|
||||
jsxc.storage.setUserItem('chat', bid, chat);
|
||||
break;
|
||||
}
|
||||
}
|
||||
message.received();
|
||||
}
|
||||
|
||||
return true;
|
||||
@@ -1233,13 +1264,13 @@ jsxc.xmpp.carbons = {
|
||||
</div>
|
||||
|
||||
<nav>
|
||||
<h2><a href="index.html">Index</a></h2><h3>Namespaces</h3><ul><li><a href="jsxc.html">jsxc</a></li><li><a href="jsxc.gui.html">gui</a></li><li><a href="jsxc.gui.dialog.html">dialog</a></li><li><a href="jsxc.gui.queryActions.html">queryActions</a></li><li><a href="jsxc.gui.roster.html">roster</a></li><li><a href="jsxc.gui.window.html">window</a></li><li><a href="jsxc.muc.html">muc</a></li><li><a href="jsxc.notification.html">notification</a></li><li><a href="jsxc.options.html">options</a></li><li><a href="jsxc.otr.html">otr</a></li><li><a href="jsxc.storage.html">storage</a></li><li><a href="jsxc.webrtc.html">webrtc</a></li><li><a href="jsxc.xmpp.html">xmpp</a></li><li><a href="jsxc.xmpp.bookmarks.html">bookmarks</a></li><li><a href="jsxc.xmpp.carbons.html">carbons</a></li></ul><h3><a href="global.html">Global</a></h3>
|
||||
<h2><a href="index.html">Index</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.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>Global</h3><ul><li>{boolean}</li><li>{integer}</li><li>{string}</li></ul>
|
||||
</nav>
|
||||
|
||||
<br clear="both">
|
||||
|
||||
<footer>
|
||||
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.2.2</a> on Tue Nov 17 2015 17:01:04 GMT+0100 (CET)
|
||||
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.2.2</a> on Fri Mar 11 2016 17:32:12 GMT+0100 (CET)
|
||||
</footer>
|
||||
|
||||
<script> prettyPrint(); </script>
|
||||
|
||||
+22
-22
@@ -252,7 +252,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#line1303">line 1303</a>
|
||||
<a href="jsxc.lib.muc.js.html">jsxc.lib.muc.js</a>, <a href="jsxc.lib.muc.js.html#line1409">line 1409</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -306,7 +306,7 @@
|
||||
|
||||
<dt class="tag-source">Source:</dt>
|
||||
<dd class="tag-source"><ul class="dummy"><li>
|
||||
<a href="jsxc.lib.muc.js.html">jsxc.lib.muc.js</a>, <a href="jsxc.lib.muc.js.html#line876">line 876</a>
|
||||
<a href="jsxc.lib.muc.js.html">jsxc.lib.muc.js</a>, <a href="jsxc.lib.muc.js.html#line891">line 891</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -442,7 +442,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#line384">line 384</a>
|
||||
<a href="jsxc.lib.muc.js.html">jsxc.lib.muc.js</a>, <a href="jsxc.lib.muc.js.html#line388">line 388</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -554,7 +554,7 @@
|
||||
|
||||
<dt class="tag-source">Source:</dt>
|
||||
<dd class="tag-source"><ul class="dummy"><li>
|
||||
<a href="jsxc.lib.muc.js.html">jsxc.lib.muc.js</a>, <a href="jsxc.lib.muc.js.html#line549">line 549</a>
|
||||
<a href="jsxc.lib.muc.js.html">jsxc.lib.muc.js</a>, <a href="jsxc.lib.muc.js.html#line557">line 557</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.muc.js.html">jsxc.lib.muc.js</a>, <a href="jsxc.lib.muc.js.html#line522">line 522</a>
|
||||
<a href="jsxc.lib.muc.js.html">jsxc.lib.muc.js</a>, <a href="jsxc.lib.muc.js.html#line526">line 526</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -834,7 +834,7 @@
|
||||
|
||||
<dt class="tag-source">Source:</dt>
|
||||
<dd class="tag-source"><ul class="dummy"><li>
|
||||
<a href="jsxc.lib.muc.js.html">jsxc.lib.muc.js</a>, <a href="jsxc.lib.muc.js.html#line1145">line 1145</a>
|
||||
<a href="jsxc.lib.muc.js.html">jsxc.lib.muc.js</a>, <a href="jsxc.lib.muc.js.html#line1222">line 1222</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -1155,7 +1155,7 @@
|
||||
|
||||
<dt class="tag-source">Source:</dt>
|
||||
<dd class="tag-source"><ul class="dummy"><li>
|
||||
<a href="jsxc.lib.muc.js.html">jsxc.lib.muc.js</a>, <a href="jsxc.lib.muc.js.html#line581">line 581</a>
|
||||
<a href="jsxc.lib.muc.js.html">jsxc.lib.muc.js</a>, <a href="jsxc.lib.muc.js.html#line589">line 589</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -1318,7 +1318,7 @@
|
||||
|
||||
<dt class="tag-source">Source:</dt>
|
||||
<dd class="tag-source"><ul class="dummy"><li>
|
||||
<a href="jsxc.lib.muc.js.html">jsxc.lib.muc.js</a>, <a href="jsxc.lib.muc.js.html#line1057">line 1057</a>
|
||||
<a href="jsxc.lib.muc.js.html">jsxc.lib.muc.js</a>, <a href="jsxc.lib.muc.js.html#line1134">line 1134</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -1575,7 +1575,7 @@
|
||||
|
||||
<dt class="tag-source">Source:</dt>
|
||||
<dd class="tag-source"><ul class="dummy"><li>
|
||||
<a href="jsxc.lib.muc.js.html">jsxc.lib.muc.js</a>, <a href="jsxc.lib.muc.js.html#line443">line 443</a>
|
||||
<a href="jsxc.lib.muc.js.html">jsxc.lib.muc.js</a>, <a href="jsxc.lib.muc.js.html#line447">line 447</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -1692,7 +1692,7 @@
|
||||
|
||||
<dt class="tag-source">Source:</dt>
|
||||
<dd class="tag-source"><ul class="dummy"><li>
|
||||
<a href="jsxc.lib.muc.js.html">jsxc.lib.muc.js</a>, <a href="jsxc.lib.muc.js.html#line472">line 472</a>
|
||||
<a href="jsxc.lib.muc.js.html">jsxc.lib.muc.js</a>, <a href="jsxc.lib.muc.js.html#line476">line 476</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -1873,7 +1873,7 @@
|
||||
|
||||
<dt class="tag-source">Source:</dt>
|
||||
<dd class="tag-source"><ul class="dummy"><li>
|
||||
<a href="jsxc.lib.muc.js.html">jsxc.lib.muc.js</a>, <a href="jsxc.lib.muc.js.html#line1248">line 1248</a>
|
||||
<a href="jsxc.lib.muc.js.html">jsxc.lib.muc.js</a>, <a href="jsxc.lib.muc.js.html#line1353">line 1353</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -1990,7 +1990,7 @@
|
||||
|
||||
<dt class="tag-source">Source:</dt>
|
||||
<dd class="tag-source"><ul class="dummy"><li>
|
||||
<a href="jsxc.lib.muc.js.html">jsxc.lib.muc.js</a>, <a href="jsxc.lib.muc.js.html#line1216">line 1216</a>
|
||||
<a href="jsxc.lib.muc.js.html">jsxc.lib.muc.js</a>, <a href="jsxc.lib.muc.js.html#line1305">line 1305</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -2107,7 +2107,7 @@
|
||||
|
||||
<dt class="tag-source">Source:</dt>
|
||||
<dd class="tag-source"><ul class="dummy"><li>
|
||||
<a href="jsxc.lib.muc.js.html">jsxc.lib.muc.js</a>, <a href="jsxc.lib.muc.js.html#line493">line 493</a>
|
||||
<a href="jsxc.lib.muc.js.html">jsxc.lib.muc.js</a>, <a href="jsxc.lib.muc.js.html#line497">line 497</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -2224,7 +2224,7 @@
|
||||
|
||||
<dt class="tag-source">Source:</dt>
|
||||
<dd class="tag-source"><ul class="dummy"><li>
|
||||
<a href="jsxc.lib.muc.js.html">jsxc.lib.muc.js</a>, <a href="jsxc.lib.muc.js.html#line1161">line 1161</a>
|
||||
<a href="jsxc.lib.muc.js.html">jsxc.lib.muc.js</a>, <a href="jsxc.lib.muc.js.html#line1238">line 1238</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -2427,7 +2427,7 @@
|
||||
|
||||
<dt class="tag-source">Source:</dt>
|
||||
<dd class="tag-source"><ul class="dummy"><li>
|
||||
<a href="jsxc.lib.muc.js.html">jsxc.lib.muc.js</a>, <a href="jsxc.lib.muc.js.html#line721">line 721</a>
|
||||
<a href="jsxc.lib.muc.js.html">jsxc.lib.muc.js</a>, <a href="jsxc.lib.muc.js.html#line724">line 724</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -2585,7 +2585,7 @@
|
||||
|
||||
<dt class="tag-source">Source:</dt>
|
||||
<dd class="tag-source"><ul class="dummy"><li>
|
||||
<a href="jsxc.lib.muc.js.html">jsxc.lib.muc.js</a>, <a href="jsxc.lib.muc.js.html#line852">line 852</a>
|
||||
<a href="jsxc.lib.muc.js.html">jsxc.lib.muc.js</a>, <a href="jsxc.lib.muc.js.html#line867">line 867</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -2747,7 +2747,7 @@
|
||||
|
||||
<dt class="tag-source">Source:</dt>
|
||||
<dd class="tag-source"><ul class="dummy"><li>
|
||||
<a href="jsxc.lib.muc.js.html">jsxc.lib.muc.js</a>, <a href="jsxc.lib.muc.js.html#line1031">line 1031</a>
|
||||
<a href="jsxc.lib.muc.js.html">jsxc.lib.muc.js</a>, <a href="jsxc.lib.muc.js.html#line1099">line 1099</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -2887,7 +2887,7 @@
|
||||
|
||||
<dt class="tag-source">Source:</dt>
|
||||
<dd class="tag-source"><ul class="dummy"><li>
|
||||
<a href="jsxc.lib.muc.js.html">jsxc.lib.muc.js</a>, <a href="jsxc.lib.muc.js.html#line1100">line 1100</a>
|
||||
<a href="jsxc.lib.muc.js.html">jsxc.lib.muc.js</a>, <a href="jsxc.lib.muc.js.html#line1177">line 1177</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -3027,7 +3027,7 @@
|
||||
|
||||
<dt class="tag-source">Source:</dt>
|
||||
<dd class="tag-source"><ul class="dummy"><li>
|
||||
<a href="jsxc.lib.muc.js.html">jsxc.lib.muc.js</a>, <a href="jsxc.lib.muc.js.html#line1116">line 1116</a>
|
||||
<a href="jsxc.lib.muc.js.html">jsxc.lib.muc.js</a>, <a href="jsxc.lib.muc.js.html#line1193">line 1193</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -3306,7 +3306,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#line360">line 360</a>
|
||||
<a href="jsxc.lib.muc.js.html">jsxc.lib.muc.js</a>, <a href="jsxc.lib.muc.js.html#line364">line 364</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -3347,13 +3347,13 @@
|
||||
</div>
|
||||
|
||||
<nav>
|
||||
<h2><a href="index.html">Index</a></h2><h3>Namespaces</h3><ul><li><a href="jsxc.html">jsxc</a></li><li><a href="jsxc.gui.html">gui</a></li><li><a href="jsxc.gui.dialog.html">dialog</a></li><li><a href="jsxc.gui.queryActions.html">queryActions</a></li><li><a href="jsxc.gui.roster.html">roster</a></li><li><a href="jsxc.gui.window.html">window</a></li><li><a href="jsxc.muc.html">muc</a></li><li><a href="jsxc.notification.html">notification</a></li><li><a href="jsxc.options.html">options</a></li><li><a href="jsxc.otr.html">otr</a></li><li><a href="jsxc.storage.html">storage</a></li><li><a href="jsxc.webrtc.html">webrtc</a></li><li><a href="jsxc.xmpp.html">xmpp</a></li><li><a href="jsxc.xmpp.bookmarks.html">bookmarks</a></li><li><a href="jsxc.xmpp.carbons.html">carbons</a></li></ul><h3><a href="global.html">Global</a></h3>
|
||||
<h2><a href="index.html">Index</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.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>Global</h3><ul><li>{boolean}</li><li>{integer}</li><li>{string}</li></ul>
|
||||
</nav>
|
||||
|
||||
<br clear="both">
|
||||
|
||||
<footer>
|
||||
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.2.2</a> on Tue Nov 17 2015 17:01:04 GMT+0100 (CET)
|
||||
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.2.2</a> on Fri Mar 11 2016 17:32:12 GMT+0100 (CET)
|
||||
</footer>
|
||||
|
||||
<script> prettyPrint(); </script>
|
||||
|
||||
@@ -1250,13 +1250,13 @@ messages.
|
||||
</div>
|
||||
|
||||
<nav>
|
||||
<h2><a href="index.html">Index</a></h2><h3>Namespaces</h3><ul><li><a href="jsxc.html">jsxc</a></li><li><a href="jsxc.gui.html">gui</a></li><li><a href="jsxc.gui.dialog.html">dialog</a></li><li><a href="jsxc.gui.queryActions.html">queryActions</a></li><li><a href="jsxc.gui.roster.html">roster</a></li><li><a href="jsxc.gui.window.html">window</a></li><li><a href="jsxc.muc.html">muc</a></li><li><a href="jsxc.notification.html">notification</a></li><li><a href="jsxc.options.html">options</a></li><li><a href="jsxc.otr.html">otr</a></li><li><a href="jsxc.storage.html">storage</a></li><li><a href="jsxc.webrtc.html">webrtc</a></li><li><a href="jsxc.xmpp.html">xmpp</a></li><li><a href="jsxc.xmpp.bookmarks.html">bookmarks</a></li><li><a href="jsxc.xmpp.carbons.html">carbons</a></li></ul><h3><a href="global.html">Global</a></h3>
|
||||
<h2><a href="index.html">Index</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.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>Global</h3><ul><li>{boolean}</li><li>{integer}</li><li>{string}</li></ul>
|
||||
</nav>
|
||||
|
||||
<br clear="both">
|
||||
|
||||
<footer>
|
||||
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.2.2</a> on Tue Nov 17 2015 17:01:05 GMT+0100 (CET)
|
||||
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.2.2</a> on Fri Mar 11 2016 17:32:12 GMT+0100 (CET)
|
||||
</footer>
|
||||
|
||||
<script> prettyPrint(); </script>
|
||||
|
||||
+42
-100
@@ -188,7 +188,7 @@
|
||||
|
||||
<dt class="tag-source">Source:</dt>
|
||||
<dd class="tag-source"><ul class="dummy"><li>
|
||||
<a href="jsxc.lib.options.js.html">jsxc.lib.options.js</a>, <a href="jsxc.lib.options.js.html#line113">line 113</a>
|
||||
<a href="jsxc.lib.options.js.html">jsxc.lib.options.js</a>, <a href="jsxc.lib.options.js.html#line128">line 128</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -296,7 +296,7 @@
|
||||
|
||||
<dt class="tag-source">Source:</dt>
|
||||
<dd class="tag-source"><ul class="dummy"><li>
|
||||
<a href="jsxc.lib.options.js.html">jsxc.lib.options.js</a>, <a href="jsxc.lib.options.js.html#line110">line 110</a>
|
||||
<a href="jsxc.lib.options.js.html">jsxc.lib.options.js</a>, <a href="jsxc.lib.options.js.html#line125">line 125</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -350,7 +350,7 @@
|
||||
|
||||
<dt class="tag-source">Source:</dt>
|
||||
<dd class="tag-source"><ul class="dummy"><li>
|
||||
<a href="jsxc.lib.options.js.html">jsxc.lib.options.js</a>, <a href="jsxc.lib.options.js.html#line205">line 205</a>
|
||||
<a href="jsxc.lib.options.js.html">jsxc.lib.options.js</a>, <a href="jsxc.lib.options.js.html#line217">line 217</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -404,7 +404,7 @@
|
||||
|
||||
<dt class="tag-source">Source:</dt>
|
||||
<dd class="tag-source"><ul class="dummy"><li>
|
||||
<a href="jsxc.lib.options.js.html">jsxc.lib.options.js</a>, <a href="jsxc.lib.options.js.html#line139">line 139</a>
|
||||
<a href="jsxc.lib.options.js.html">jsxc.lib.options.js</a>, <a href="jsxc.lib.options.js.html#line151">line 151</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -467,60 +467,6 @@
|
||||
|
||||
|
||||
|
||||
</dl>
|
||||
|
||||
|
||||
|
||||
</dd>
|
||||
|
||||
|
||||
|
||||
<dt>
|
||||
<h4 class="name" id="loginTimeout"><span class="type-signature"><static> </span>loginTimeout<span class="type-signature"></span></h4>
|
||||
|
||||
|
||||
</dt>
|
||||
<dd>
|
||||
|
||||
<div class="description">
|
||||
Timeout for restore in ms
|
||||
</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#line128">line 128</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</dl>
|
||||
|
||||
|
||||
@@ -566,7 +512,7 @@
|
||||
|
||||
<dt class="tag-source">Source:</dt>
|
||||
<dd class="tag-source"><ul class="dummy"><li>
|
||||
<a href="jsxc.lib.options.js.html">jsxc.lib.options.js</a>, <a href="jsxc.lib.options.js.html#line104">line 104</a>
|
||||
<a href="jsxc.lib.options.js.html">jsxc.lib.options.js</a>, <a href="jsxc.lib.options.js.html#line119">line 119</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -620,7 +566,7 @@
|
||||
|
||||
<dt class="tag-source">Source:</dt>
|
||||
<dd class="tag-source"><ul class="dummy"><li>
|
||||
<a href="jsxc.lib.options.js.html">jsxc.lib.options.js</a>, <a href="jsxc.lib.options.js.html#line142">line 142</a>
|
||||
<a href="jsxc.lib.options.js.html">jsxc.lib.options.js</a>, <a href="jsxc.lib.options.js.html#line154">line 154</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -674,7 +620,7 @@
|
||||
|
||||
<dt class="tag-source">Source:</dt>
|
||||
<dd class="tag-source"><ul class="dummy"><li>
|
||||
<a href="jsxc.lib.options.js.html">jsxc.lib.options.js</a>, <a href="jsxc.lib.options.js.html#line119">line 119</a>
|
||||
<a href="jsxc.lib.options.js.html">jsxc.lib.options.js</a>, <a href="jsxc.lib.options.js.html#line134">line 134</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -728,7 +674,7 @@
|
||||
|
||||
<dt class="tag-source">Source:</dt>
|
||||
<dd class="tag-source"><ul class="dummy"><li>
|
||||
<a href="jsxc.lib.options.js.html">jsxc.lib.options.js</a>, <a href="jsxc.lib.options.js.html#line107">line 107</a>
|
||||
<a href="jsxc.lib.options.js.html">jsxc.lib.options.js</a>, <a href="jsxc.lib.options.js.html#line122">line 122</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -782,7 +728,7 @@
|
||||
|
||||
<dt class="tag-source">Source:</dt>
|
||||
<dd class="tag-source"><ul class="dummy"><li>
|
||||
<a href="jsxc.lib.options.js.html">jsxc.lib.options.js</a>, <a href="jsxc.lib.options.js.html#line233">line 233</a>
|
||||
<a href="jsxc.lib.options.js.html">jsxc.lib.options.js</a>, <a href="jsxc.lib.options.js.html#line248">line 248</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -890,7 +836,7 @@
|
||||
|
||||
<dt class="tag-source">Source:</dt>
|
||||
<dd class="tag-source"><ul class="dummy"><li>
|
||||
<a href="jsxc.lib.options.js.html">jsxc.lib.options.js</a>, <a href="jsxc.lib.options.js.html#line122">line 122</a>
|
||||
<a href="jsxc.lib.options.js.html">jsxc.lib.options.js</a>, <a href="jsxc.lib.options.js.html#line137">line 137</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -998,7 +944,7 @@
|
||||
|
||||
<dt class="tag-source">Source:</dt>
|
||||
<dd class="tag-source"><ul class="dummy"><li>
|
||||
<a href="jsxc.lib.options.js.html">jsxc.lib.options.js</a>, <a href="jsxc.lib.options.js.html#line125">line 125</a>
|
||||
<a href="jsxc.lib.options.js.html">jsxc.lib.options.js</a>, <a href="jsxc.lib.options.js.html#line140">line 140</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -1052,7 +998,7 @@
|
||||
|
||||
<dt class="tag-source">Source:</dt>
|
||||
<dd class="tag-source"><ul class="dummy"><li>
|
||||
<a href="jsxc.lib.options.js.html">jsxc.lib.options.js</a>, <a href="jsxc.lib.options.js.html#line116">line 116</a>
|
||||
<a href="jsxc.lib.options.js.html">jsxc.lib.options.js</a>, <a href="jsxc.lib.options.js.html#line131">line 131</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -1106,7 +1052,7 @@
|
||||
|
||||
<dt class="tag-source">Source:</dt>
|
||||
<dd class="tag-source"><ul class="dummy"><li>
|
||||
<a href="jsxc.lib.options.js.html">jsxc.lib.options.js</a>, <a href="jsxc.lib.options.js.html#line219">line 219</a>
|
||||
<a href="jsxc.lib.options.js.html">jsxc.lib.options.js</a>, <a href="jsxc.lib.options.js.html#line231">line 231</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -1212,7 +1158,7 @@
|
||||
|
||||
<dt class="tag-source">Source:</dt>
|
||||
<dd class="tag-source"><ul class="dummy"><li>
|
||||
<a href="jsxc.lib.options.js.html">jsxc.lib.options.js</a>, <a href="jsxc.lib.options.js.html#line216">line 216</a>
|
||||
<a href="jsxc.lib.options.js.html">jsxc.lib.options.js</a>, <a href="jsxc.lib.options.js.html#line228">line 228</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -1377,7 +1323,7 @@
|
||||
|
||||
<dt class="tag-source">Source:</dt>
|
||||
<dd class="tag-source"><ul class="dummy"><li>
|
||||
<a href="jsxc.lib.options.js.html">jsxc.lib.options.js</a>, <a href="jsxc.lib.options.js.html#line150">line 150</a>
|
||||
<a href="jsxc.lib.options.js.html">jsxc.lib.options.js</a>, <a href="jsxc.lib.options.js.html#line162">line 162</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -1447,7 +1393,7 @@ connection is found.
|
||||
|
||||
<dt class="tag-source">Source:</dt>
|
||||
<dd class="tag-source"><ul class="dummy"><li>
|
||||
<a href="jsxc.lib.options.js.html">jsxc.lib.options.js</a>, <a href="jsxc.lib.options.js.html#line134">line 134</a>
|
||||
<a href="jsxc.lib.options.js.html">jsxc.lib.options.js</a>, <a href="jsxc.lib.options.js.html#line146">line 146</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -1564,7 +1510,7 @@ connection is found.
|
||||
|
||||
<dt class="tag-source">Source:</dt>
|
||||
<dd class="tag-source"><ul class="dummy"><li>
|
||||
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line197">line 197</a>
|
||||
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line206">line 206</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -1714,7 +1660,7 @@ connection is found.
|
||||
|
||||
<dt class="tag-source">Source:</dt>
|
||||
<dd class="tag-source"><ul class="dummy"><li>
|
||||
<a href="jsxc.lib.options.js.html">jsxc.lib.options.js</a>, <a href="jsxc.lib.options.js.html#line189">line 189</a>
|
||||
<a href="jsxc.lib.options.js.html">jsxc.lib.options.js</a>, <a href="jsxc.lib.options.js.html#line201">line 201</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -1877,7 +1823,7 @@ connection is found.
|
||||
|
||||
<dt class="tag-source">Source:</dt>
|
||||
<dd class="tag-source"><ul class="dummy"><li>
|
||||
<a href="jsxc.lib.options.js.html">jsxc.lib.options.js</a>, <a href="jsxc.lib.options.js.html#line169">line 169</a>
|
||||
<a href="jsxc.lib.options.js.html">jsxc.lib.options.js</a>, <a href="jsxc.lib.options.js.html#line181">line 181</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -1905,7 +1851,7 @@ connection is found.
|
||||
|
||||
|
||||
<dt>
|
||||
<h4 class="name" id="saveSettinsPermanent"><span class="type-signature"><static> </span>saveSettinsPermanent<span class="signature">(data)</span><span class="type-signature"> → {boolean}</span></h4>
|
||||
<h4 class="name" id="saveSettinsPermanent"><span class="type-signature"><static> </span>saveSettinsPermanent<span class="signature">(data, cb)</span><span class="type-signature"></span></h4>
|
||||
|
||||
|
||||
</dt>
|
||||
@@ -1962,6 +1908,24 @@ connection is found.
|
||||
</tr>
|
||||
|
||||
|
||||
|
||||
<tr>
|
||||
|
||||
<td class="name"><code>cb</code></td>
|
||||
|
||||
|
||||
<td class="type">
|
||||
|
||||
</td>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<td class="description last">Called with true on success, false otherwise</td>
|
||||
</tr>
|
||||
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
@@ -1989,7 +1953,7 @@ connection is found.
|
||||
|
||||
<dt class="tag-source">Source:</dt>
|
||||
<dd class="tag-source"><ul class="dummy"><li>
|
||||
<a href="jsxc.lib.options.js.html">jsxc.lib.options.js</a>, <a href="jsxc.lib.options.js.html#line178">line 178</a>
|
||||
<a href="jsxc.lib.options.js.html">jsxc.lib.options.js</a>, <a href="jsxc.lib.options.js.html#line190">line 190</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -2010,28 +1974,6 @@ connection is found.
|
||||
|
||||
|
||||
|
||||
<h5>Returns:</h5>
|
||||
|
||||
|
||||
<div class="param-desc">
|
||||
false if function failes
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<dl>
|
||||
<dt>
|
||||
Type
|
||||
</dt>
|
||||
<dd>
|
||||
|
||||
<span class="param-type">boolean</span>
|
||||
|
||||
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
|
||||
|
||||
|
||||
</dd>
|
||||
@@ -2151,7 +2093,7 @@ connection is found.
|
||||
|
||||
<dt class="tag-source">Source:</dt>
|
||||
<dd class="tag-source"><ul class="dummy"><li>
|
||||
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line209">line 209</a>
|
||||
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line222">line 222</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -2192,13 +2134,13 @@ connection is found.
|
||||
</div>
|
||||
|
||||
<nav>
|
||||
<h2><a href="index.html">Index</a></h2><h3>Namespaces</h3><ul><li><a href="jsxc.html">jsxc</a></li><li><a href="jsxc.gui.html">gui</a></li><li><a href="jsxc.gui.dialog.html">dialog</a></li><li><a href="jsxc.gui.queryActions.html">queryActions</a></li><li><a href="jsxc.gui.roster.html">roster</a></li><li><a href="jsxc.gui.window.html">window</a></li><li><a href="jsxc.muc.html">muc</a></li><li><a href="jsxc.notification.html">notification</a></li><li><a href="jsxc.options.html">options</a></li><li><a href="jsxc.otr.html">otr</a></li><li><a href="jsxc.storage.html">storage</a></li><li><a href="jsxc.webrtc.html">webrtc</a></li><li><a href="jsxc.xmpp.html">xmpp</a></li><li><a href="jsxc.xmpp.bookmarks.html">bookmarks</a></li><li><a href="jsxc.xmpp.carbons.html">carbons</a></li></ul><h3><a href="global.html">Global</a></h3>
|
||||
<h2><a href="index.html">Index</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.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>Global</h3><ul><li>{boolean}</li><li>{integer}</li><li>{string}</li></ul>
|
||||
</nav>
|
||||
|
||||
<br clear="both">
|
||||
|
||||
<footer>
|
||||
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.2.2</a> on Tue Nov 17 2015 17:01:05 GMT+0100 (CET)
|
||||
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.2.2</a> on Fri Mar 11 2016 17:32:13 GMT+0100 (CET)
|
||||
</footer>
|
||||
|
||||
<script> prettyPrint(); </script>
|
||||
|
||||
+14
-14
@@ -197,7 +197,7 @@
|
||||
|
||||
<dt class="tag-source">Source:</dt>
|
||||
<dd class="tag-source"><ul class="dummy"><li>
|
||||
<a href="jsxc.lib.otr.js.html">jsxc.lib.otr.js</a>, <a href="jsxc.lib.otr.js.html#line453">line 453</a>
|
||||
<a href="jsxc.lib.otr.js.html">jsxc.lib.otr.js</a>, <a href="jsxc.lib.otr.js.html#line500">line 500</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -314,7 +314,7 @@
|
||||
|
||||
<dt class="tag-source">Source:</dt>
|
||||
<dd class="tag-source"><ul class="dummy"><li>
|
||||
<a href="jsxc.lib.otr.js.html">jsxc.lib.otr.js</a>, <a href="jsxc.lib.otr.js.html#line301">line 301</a>
|
||||
<a href="jsxc.lib.otr.js.html">jsxc.lib.otr.js</a>, <a href="jsxc.lib.otr.js.html#line349">line 349</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -431,7 +431,7 @@
|
||||
|
||||
<dt class="tag-source">Source:</dt>
|
||||
<dd class="tag-source"><ul class="dummy"><li>
|
||||
<a href="jsxc.lib.otr.js.html">jsxc.lib.otr.js</a>, <a href="jsxc.lib.otr.js.html#line54">line 54</a>
|
||||
<a href="jsxc.lib.otr.js.html">jsxc.lib.otr.js</a>, <a href="jsxc.lib.otr.js.html#line68">line 68</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -518,7 +518,7 @@
|
||||
|
||||
<dt class="tag-source">Source:</dt>
|
||||
<dd class="tag-source"><ul class="dummy"><li>
|
||||
<a href="jsxc.lib.otr.js.html">jsxc.lib.otr.js</a>, <a href="jsxc.lib.otr.js.html#line368">line 368</a>
|
||||
<a href="jsxc.lib.otr.js.html">jsxc.lib.otr.js</a>, <a href="jsxc.lib.otr.js.html#line416">line 416</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -653,7 +653,7 @@
|
||||
|
||||
<dt class="tag-source">Source:</dt>
|
||||
<dd class="tag-source"><ul class="dummy"><li>
|
||||
<a href="jsxc.lib.otr.js.html">jsxc.lib.otr.js</a>, <a href="jsxc.lib.otr.js.html#line467">line 467</a>
|
||||
<a href="jsxc.lib.otr.js.html">jsxc.lib.otr.js</a>, <a href="jsxc.lib.otr.js.html#line514">line 514</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -770,7 +770,7 @@
|
||||
|
||||
<dt class="tag-source">Source:</dt>
|
||||
<dd class="tag-source"><ul class="dummy"><li>
|
||||
<a href="jsxc.lib.otr.js.html">jsxc.lib.otr.js</a>, <a href="jsxc.lib.otr.js.html#line266">line 266</a>
|
||||
<a href="jsxc.lib.otr.js.html">jsxc.lib.otr.js</a>, <a href="jsxc.lib.otr.js.html#line314">line 314</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -923,7 +923,7 @@
|
||||
|
||||
<dt class="tag-source">Source:</dt>
|
||||
<dd class="tag-source"><ul class="dummy"><li>
|
||||
<a href="jsxc.lib.otr.js.html">jsxc.lib.otr.js</a>, <a href="jsxc.lib.otr.js.html#line283">line 283</a>
|
||||
<a href="jsxc.lib.otr.js.html">jsxc.lib.otr.js</a>, <a href="jsxc.lib.otr.js.html#line331">line 331</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -1101,7 +1101,7 @@
|
||||
|
||||
<dt class="tag-source">Source:</dt>
|
||||
<dd class="tag-source"><ul class="dummy"><li>
|
||||
<a href="jsxc.lib.otr.js.html">jsxc.lib.otr.js</a>, <a href="jsxc.lib.otr.js.html#line205">line 205</a>
|
||||
<a href="jsxc.lib.otr.js.html">jsxc.lib.otr.js</a>, <a href="jsxc.lib.otr.js.html#line251">line 251</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -1493,7 +1493,7 @@
|
||||
|
||||
<dt class="tag-source">Source:</dt>
|
||||
<dd class="tag-source"><ul class="dummy"><li>
|
||||
<a href="jsxc.lib.otr.js.html">jsxc.lib.otr.js</a>, <a href="jsxc.lib.otr.js.html#line333">line 333</a>
|
||||
<a href="jsxc.lib.otr.js.html">jsxc.lib.otr.js</a>, <a href="jsxc.lib.otr.js.html#line381">line 381</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -1633,7 +1633,7 @@
|
||||
|
||||
<dt class="tag-source">Source:</dt>
|
||||
<dd class="tag-source"><ul class="dummy"><li>
|
||||
<a href="jsxc.lib.otr.js.html">jsxc.lib.otr.js</a>, <a href="jsxc.lib.otr.js.html#line40">line 40</a>
|
||||
<a href="jsxc.lib.otr.js.html">jsxc.lib.otr.js</a>, <a href="jsxc.lib.otr.js.html#line54">line 54</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -1824,7 +1824,7 @@
|
||||
|
||||
<dt class="tag-source">Source:</dt>
|
||||
<dd class="tag-source"><ul class="dummy"><li>
|
||||
<a href="jsxc.lib.otr.js.html">jsxc.lib.otr.js</a>, <a href="jsxc.lib.otr.js.html#line236">line 236</a>
|
||||
<a href="jsxc.lib.otr.js.html">jsxc.lib.otr.js</a>, <a href="jsxc.lib.otr.js.html#line284">line 284</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -1959,7 +1959,7 @@
|
||||
|
||||
<dt class="tag-source">Source:</dt>
|
||||
<dd class="tag-source"><ul class="dummy"><li>
|
||||
<a href="jsxc.lib.otr.js.html">jsxc.lib.otr.js</a>, <a href="jsxc.lib.otr.js.html#line248">line 248</a>
|
||||
<a href="jsxc.lib.otr.js.html">jsxc.lib.otr.js</a>, <a href="jsxc.lib.otr.js.html#line296">line 296</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -2018,13 +2018,13 @@
|
||||
</div>
|
||||
|
||||
<nav>
|
||||
<h2><a href="index.html">Index</a></h2><h3>Namespaces</h3><ul><li><a href="jsxc.html">jsxc</a></li><li><a href="jsxc.gui.html">gui</a></li><li><a href="jsxc.gui.dialog.html">dialog</a></li><li><a href="jsxc.gui.queryActions.html">queryActions</a></li><li><a href="jsxc.gui.roster.html">roster</a></li><li><a href="jsxc.gui.window.html">window</a></li><li><a href="jsxc.muc.html">muc</a></li><li><a href="jsxc.notification.html">notification</a></li><li><a href="jsxc.options.html">options</a></li><li><a href="jsxc.otr.html">otr</a></li><li><a href="jsxc.storage.html">storage</a></li><li><a href="jsxc.webrtc.html">webrtc</a></li><li><a href="jsxc.xmpp.html">xmpp</a></li><li><a href="jsxc.xmpp.bookmarks.html">bookmarks</a></li><li><a href="jsxc.xmpp.carbons.html">carbons</a></li></ul><h3><a href="global.html">Global</a></h3>
|
||||
<h2><a href="index.html">Index</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.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>Global</h3><ul><li>{boolean}</li><li>{integer}</li><li>{string}</li></ul>
|
||||
</nav>
|
||||
|
||||
<br clear="both">
|
||||
|
||||
<footer>
|
||||
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.2.2</a> on Tue Nov 17 2015 17:01:05 GMT+0100 (CET)
|
||||
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.2.2</a> on Fri Mar 11 2016 17:32:13 GMT+0100 (CET)
|
||||
</footer>
|
||||
|
||||
<script> prettyPrint(); </script>
|
||||
|
||||
+13
-225
@@ -270,7 +270,7 @@
|
||||
|
||||
<dt class="tag-source">Source:</dt>
|
||||
<dd class="tag-source"><ul class="dummy"><li>
|
||||
<a href="jsxc.lib.storage.js.html">jsxc.lib.storage.js</a>, <a href="jsxc.lib.storage.js.html#line85">line 85</a>
|
||||
<a href="jsxc.lib.storage.js.html">jsxc.lib.storage.js</a>, <a href="jsxc.lib.storage.js.html#line89">line 89</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -517,7 +517,7 @@
|
||||
|
||||
<dt class="tag-source">Source:</dt>
|
||||
<dd class="tag-source"><ul class="dummy"><li>
|
||||
<a href="jsxc.lib.storage.js.html">jsxc.lib.storage.js</a>, <a href="jsxc.lib.storage.js.html#line102">line 102</a>
|
||||
<a href="jsxc.lib.storage.js.html">jsxc.lib.storage.js</a>, <a href="jsxc.lib.storage.js.html#line106">line 106</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -667,7 +667,7 @@
|
||||
|
||||
<dt class="tag-source">Source:</dt>
|
||||
<dd class="tag-source"><ul class="dummy"><li>
|
||||
<a href="jsxc.lib.storage.js.html">jsxc.lib.storage.js</a>, <a href="jsxc.lib.storage.js.html#line214">line 214</a>
|
||||
<a href="jsxc.lib.storage.js.html">jsxc.lib.storage.js</a>, <a href="jsxc.lib.storage.js.html#line218">line 218</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -901,7 +901,7 @@
|
||||
|
||||
<dt class="tag-source">Source:</dt>
|
||||
<dd class="tag-source"><ul class="dummy"><li>
|
||||
<a href="jsxc.lib.storage.js.html">jsxc.lib.storage.js</a>, <a href="jsxc.lib.storage.js.html#line264">line 264</a>
|
||||
<a href="jsxc.lib.storage.js.html">jsxc.lib.storage.js</a>, <a href="jsxc.lib.storage.js.html#line268">line 268</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -1064,7 +1064,7 @@
|
||||
|
||||
<dt class="tag-source">Source:</dt>
|
||||
<dd class="tag-source"><ul class="dummy"><li>
|
||||
<a href="jsxc.lib.storage.js.html">jsxc.lib.storage.js</a>, <a href="jsxc.lib.storage.js.html#line227">line 227</a>
|
||||
<a href="jsxc.lib.storage.js.html">jsxc.lib.storage.js</a>, <a href="jsxc.lib.storage.js.html#line231">line 231</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -1222,7 +1222,7 @@
|
||||
|
||||
<dt class="tag-source">Source:</dt>
|
||||
<dd class="tag-source"><ul class="dummy"><li>
|
||||
<a href="jsxc.lib.storage.js.html">jsxc.lib.storage.js</a>, <a href="jsxc.lib.storage.js.html#line121">line 121</a>
|
||||
<a href="jsxc.lib.storage.js.html">jsxc.lib.storage.js</a>, <a href="jsxc.lib.storage.js.html#line125">line 125</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -1334,7 +1334,7 @@
|
||||
|
||||
<dt class="tag-source">Source:</dt>
|
||||
<dd class="tag-source"><ul class="dummy"><li>
|
||||
<a href="jsxc.lib.storage.js.html">jsxc.lib.storage.js</a>, <a href="jsxc.lib.storage.js.html#line139">line 139</a>
|
||||
<a href="jsxc.lib.storage.js.html">jsxc.lib.storage.js</a>, <a href="jsxc.lib.storage.js.html#line143">line 143</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -1464,7 +1464,7 @@
|
||||
|
||||
<dt class="tag-source">Source:</dt>
|
||||
<dd class="tag-source"><ul class="dummy"><li>
|
||||
<a href="jsxc.lib.storage.js.html">jsxc.lib.storage.js</a>, <a href="jsxc.lib.storage.js.html#line606">line 606</a>
|
||||
<a href="jsxc.lib.storage.js.html">jsxc.lib.storage.js</a>, <a href="jsxc.lib.storage.js.html#line576">line 576</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -1509,218 +1509,6 @@
|
||||
|
||||
|
||||
|
||||
</dd>
|
||||
|
||||
|
||||
|
||||
<dt>
|
||||
<h4 class="name" id="saveMessage"><span class="type-signature"><static> </span>saveMessage<span class="signature">(bid, direction, msg, encrypted, forwarded, sender)</span><span class="type-signature"></span></h4>
|
||||
|
||||
|
||||
</dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<div class="description">
|
||||
Save message to storage.
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<h5>Parameters:</h5>
|
||||
|
||||
|
||||
<table class="params">
|
||||
<thead>
|
||||
<tr>
|
||||
|
||||
<th>Name</th>
|
||||
|
||||
|
||||
<th>Type</th>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<th class="last">Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
|
||||
<tbody>
|
||||
|
||||
|
||||
<tr>
|
||||
|
||||
<td class="name"><code>bid</code></td>
|
||||
|
||||
|
||||
<td class="type">
|
||||
|
||||
</td>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<td class="description last"></td>
|
||||
</tr>
|
||||
|
||||
|
||||
|
||||
<tr>
|
||||
|
||||
<td class="name"><code>direction</code></td>
|
||||
|
||||
|
||||
<td class="type">
|
||||
|
||||
</td>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<td class="description last"></td>
|
||||
</tr>
|
||||
|
||||
|
||||
|
||||
<tr>
|
||||
|
||||
<td class="name"><code>msg</code></td>
|
||||
|
||||
|
||||
<td class="type">
|
||||
|
||||
</td>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<td class="description last"></td>
|
||||
</tr>
|
||||
|
||||
|
||||
|
||||
<tr>
|
||||
|
||||
<td class="name"><code>encrypted</code></td>
|
||||
|
||||
|
||||
<td class="type">
|
||||
|
||||
</td>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<td class="description last"></td>
|
||||
</tr>
|
||||
|
||||
|
||||
|
||||
<tr>
|
||||
|
||||
<td class="name"><code>forwarded</code></td>
|
||||
|
||||
|
||||
<td class="type">
|
||||
|
||||
</td>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<td class="description last"></td>
|
||||
</tr>
|
||||
|
||||
|
||||
|
||||
<tr>
|
||||
|
||||
<td class="name"><code>sender</code></td>
|
||||
|
||||
|
||||
<td class="type">
|
||||
|
||||
</td>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<td class="description last"></td>
|
||||
</tr>
|
||||
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
|
||||
|
||||
<dl class="details">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<dt class="tag-source">Source:</dt>
|
||||
<dd class="tag-source"><ul class="dummy"><li>
|
||||
<a href="jsxc.lib.storage.js.html">jsxc.lib.storage.js</a>, <a href="jsxc.lib.storage.js.html#line572">line 572</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</dl>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<h5>Returns:</h5>
|
||||
|
||||
|
||||
<div class="param-desc">
|
||||
post
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</dd>
|
||||
|
||||
|
||||
@@ -1861,7 +1649,7 @@
|
||||
|
||||
<dt class="tag-source">Source:</dt>
|
||||
<dd class="tag-source"><ul class="dummy"><li>
|
||||
<a href="jsxc.lib.storage.js.html">jsxc.lib.storage.js</a>, <a href="jsxc.lib.storage.js.html#line35">line 35</a>
|
||||
<a href="jsxc.lib.storage.js.html">jsxc.lib.storage.js</a>, <a href="jsxc.lib.storage.js.html#line39">line 39</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -2087,7 +1875,7 @@
|
||||
|
||||
<dt class="tag-source">Source:</dt>
|
||||
<dd class="tag-source"><ul class="dummy"><li>
|
||||
<a href="jsxc.lib.storage.js.html">jsxc.lib.storage.js</a>, <a href="jsxc.lib.storage.js.html#line161">line 161</a>
|
||||
<a href="jsxc.lib.storage.js.html">jsxc.lib.storage.js</a>, <a href="jsxc.lib.storage.js.html#line165">line 165</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -2282,7 +2070,7 @@
|
||||
|
||||
<dt class="tag-source">Source:</dt>
|
||||
<dd class="tag-source"><ul class="dummy"><li>
|
||||
<a href="jsxc.lib.storage.js.html">jsxc.lib.storage.js</a>, <a href="jsxc.lib.storage.js.html#line193">line 193</a>
|
||||
<a href="jsxc.lib.storage.js.html">jsxc.lib.storage.js</a>, <a href="jsxc.lib.storage.js.html#line197">line 197</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -2323,13 +2111,13 @@
|
||||
</div>
|
||||
|
||||
<nav>
|
||||
<h2><a href="index.html">Index</a></h2><h3>Namespaces</h3><ul><li><a href="jsxc.html">jsxc</a></li><li><a href="jsxc.gui.html">gui</a></li><li><a href="jsxc.gui.dialog.html">dialog</a></li><li><a href="jsxc.gui.queryActions.html">queryActions</a></li><li><a href="jsxc.gui.roster.html">roster</a></li><li><a href="jsxc.gui.window.html">window</a></li><li><a href="jsxc.muc.html">muc</a></li><li><a href="jsxc.notification.html">notification</a></li><li><a href="jsxc.options.html">options</a></li><li><a href="jsxc.otr.html">otr</a></li><li><a href="jsxc.storage.html">storage</a></li><li><a href="jsxc.webrtc.html">webrtc</a></li><li><a href="jsxc.xmpp.html">xmpp</a></li><li><a href="jsxc.xmpp.bookmarks.html">bookmarks</a></li><li><a href="jsxc.xmpp.carbons.html">carbons</a></li></ul><h3><a href="global.html">Global</a></h3>
|
||||
<h2><a href="index.html">Index</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.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>Global</h3><ul><li>{boolean}</li><li>{integer}</li><li>{string}</li></ul>
|
||||
</nav>
|
||||
|
||||
<br clear="both">
|
||||
|
||||
<footer>
|
||||
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.2.2</a> on Tue Nov 17 2015 17:01:05 GMT+0100 (CET)
|
||||
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.2.2</a> on Fri Mar 11 2016 17:32:13 GMT+0100 (CET)
|
||||
</footer>
|
||||
|
||||
<script> prettyPrint(); </script>
|
||||
|
||||
+562
-323
Diferenças do arquivo suprimidas por serem muito extensas
Carregar Diff
@@ -1781,13 +1781,13 @@
|
||||
</div>
|
||||
|
||||
<nav>
|
||||
<h2><a href="index.html">Index</a></h2><h3>Namespaces</h3><ul><li><a href="jsxc.html">jsxc</a></li><li><a href="jsxc.gui.html">gui</a></li><li><a href="jsxc.gui.dialog.html">dialog</a></li><li><a href="jsxc.gui.queryActions.html">queryActions</a></li><li><a href="jsxc.gui.roster.html">roster</a></li><li><a href="jsxc.gui.window.html">window</a></li><li><a href="jsxc.muc.html">muc</a></li><li><a href="jsxc.notification.html">notification</a></li><li><a href="jsxc.options.html">options</a></li><li><a href="jsxc.otr.html">otr</a></li><li><a href="jsxc.storage.html">storage</a></li><li><a href="jsxc.webrtc.html">webrtc</a></li><li><a href="jsxc.xmpp.html">xmpp</a></li><li><a href="jsxc.xmpp.bookmarks.html">bookmarks</a></li><li><a href="jsxc.xmpp.carbons.html">carbons</a></li></ul><h3><a href="global.html">Global</a></h3>
|
||||
<h2><a href="index.html">Index</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.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>Global</h3><ul><li>{boolean}</li><li>{integer}</li><li>{string}</li></ul>
|
||||
</nav>
|
||||
|
||||
<br clear="both">
|
||||
|
||||
<footer>
|
||||
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.2.2</a> on Tue Nov 17 2015 17:01:05 GMT+0100 (CET)
|
||||
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.2.2</a> on Fri Mar 11 2016 17:32:13 GMT+0100 (CET)
|
||||
</footer>
|
||||
|
||||
<script> prettyPrint(); </script>
|
||||
|
||||
@@ -66,7 +66,7 @@
|
||||
|
||||
<dt class="tag-source">Source:</dt>
|
||||
<dd class="tag-source"><ul class="dummy"><li>
|
||||
<a href="jsxc.lib.xmpp.js.html">jsxc.lib.xmpp.js</a>, <a href="jsxc.lib.xmpp.js.html#line1121">line 1121</a>
|
||||
<a href="jsxc.lib.xmpp.js.html">jsxc.lib.xmpp.js</a>, <a href="jsxc.lib.xmpp.js.html#line1152">line 1152</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -184,7 +184,7 @@
|
||||
|
||||
<dt class="tag-source">Source:</dt>
|
||||
<dd class="tag-source"><ul class="dummy"><li>
|
||||
<a href="jsxc.lib.xmpp.js.html">jsxc.lib.xmpp.js</a>, <a href="jsxc.lib.xmpp.js.html#line1161">line 1161</a>
|
||||
<a href="jsxc.lib.xmpp.js.html">jsxc.lib.xmpp.js</a>, <a href="jsxc.lib.xmpp.js.html#line1192">line 1192</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -296,7 +296,7 @@
|
||||
|
||||
<dt class="tag-source">Source:</dt>
|
||||
<dd class="tag-source"><ul class="dummy"><li>
|
||||
<a href="jsxc.lib.xmpp.js.html">jsxc.lib.xmpp.js</a>, <a href="jsxc.lib.xmpp.js.html#line1135">line 1135</a>
|
||||
<a href="jsxc.lib.xmpp.js.html">jsxc.lib.xmpp.js</a>, <a href="jsxc.lib.xmpp.js.html#line1166">line 1166</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -408,7 +408,7 @@
|
||||
|
||||
<dt class="tag-source">Source:</dt>
|
||||
<dd class="tag-source"><ul class="dummy"><li>
|
||||
<a href="jsxc.lib.xmpp.js.html">jsxc.lib.xmpp.js</a>, <a href="jsxc.lib.xmpp.js.html#line1187">line 1187</a>
|
||||
<a href="jsxc.lib.xmpp.js.html">jsxc.lib.xmpp.js</a>, <a href="jsxc.lib.xmpp.js.html#line1218">line 1218</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -449,13 +449,13 @@
|
||||
</div>
|
||||
|
||||
<nav>
|
||||
<h2><a href="index.html">Index</a></h2><h3>Namespaces</h3><ul><li><a href="jsxc.html">jsxc</a></li><li><a href="jsxc.gui.html">gui</a></li><li><a href="jsxc.gui.dialog.html">dialog</a></li><li><a href="jsxc.gui.queryActions.html">queryActions</a></li><li><a href="jsxc.gui.roster.html">roster</a></li><li><a href="jsxc.gui.window.html">window</a></li><li><a href="jsxc.muc.html">muc</a></li><li><a href="jsxc.notification.html">notification</a></li><li><a href="jsxc.options.html">options</a></li><li><a href="jsxc.otr.html">otr</a></li><li><a href="jsxc.storage.html">storage</a></li><li><a href="jsxc.webrtc.html">webrtc</a></li><li><a href="jsxc.xmpp.html">xmpp</a></li><li><a href="jsxc.xmpp.bookmarks.html">bookmarks</a></li><li><a href="jsxc.xmpp.carbons.html">carbons</a></li></ul><h3><a href="global.html">Global</a></h3>
|
||||
<h2><a href="index.html">Index</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.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>Global</h3><ul><li>{boolean}</li><li>{integer}</li><li>{string}</li></ul>
|
||||
</nav>
|
||||
|
||||
<br clear="both">
|
||||
|
||||
<footer>
|
||||
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.2.2</a> on Tue Nov 17 2015 17:01:05 GMT+0100 (CET)
|
||||
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.2.2</a> on Fri Mar 11 2016 17:32:13 GMT+0100 (CET)
|
||||
</footer>
|
||||
|
||||
<script> prettyPrint(); </script>
|
||||
|
||||
+26
-118
@@ -396,7 +396,7 @@
|
||||
|
||||
<dt class="tag-source">Source:</dt>
|
||||
<dd class="tag-source"><ul class="dummy"><li>
|
||||
<a href="jsxc.lib.xmpp.js.html">jsxc.lib.xmpp.js</a>, <a href="jsxc.lib.xmpp.js.html#line996">line 996</a>
|
||||
<a href="jsxc.lib.xmpp.js.html">jsxc.lib.xmpp.js</a>, <a href="jsxc.lib.xmpp.js.html#line1027">line 1027</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -536,7 +536,7 @@
|
||||
|
||||
<dt class="tag-source">Source:</dt>
|
||||
<dd class="tag-source"><ul class="dummy"><li>
|
||||
<a href="jsxc.lib.xmpp.js.html">jsxc.lib.xmpp.js</a>, <a href="jsxc.lib.xmpp.js.html#line893">line 893</a>
|
||||
<a href="jsxc.lib.xmpp.js.html">jsxc.lib.xmpp.js</a>, <a href="jsxc.lib.xmpp.js.html#line937">line 937</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -605,7 +605,7 @@
|
||||
|
||||
<dt class="tag-source">Source:</dt>
|
||||
<dd class="tag-source"><ul class="dummy"><li>
|
||||
<a href="jsxc.lib.xmpp.js.html">jsxc.lib.xmpp.js</a>, <a href="jsxc.lib.xmpp.js.html#line285">line 285</a>
|
||||
<a href="jsxc.lib.xmpp.js.html">jsxc.lib.xmpp.js</a>, <a href="jsxc.lib.xmpp.js.html#line278">line 278</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -674,76 +674,7 @@
|
||||
|
||||
<dt class="tag-source">Source:</dt>
|
||||
<dd class="tag-source"><ul class="dummy"><li>
|
||||
<a href="jsxc.lib.xmpp.js.html">jsxc.lib.xmpp.js</a>, <a href="jsxc.lib.xmpp.js.html#line234">line 234</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</dl>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</dd>
|
||||
|
||||
|
||||
|
||||
<dt>
|
||||
<h4 class="name" id="connectionReady"><span class="type-signature"><static> </span>connectionReady<span class="signature">()</span><span class="type-signature"></span></h4>
|
||||
|
||||
|
||||
</dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<div class="description">
|
||||
Triggered if the connection is ready
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<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#line354">line 354</a>
|
||||
<a href="jsxc.lib.xmpp.js.html">jsxc.lib.xmpp.js</a>, <a href="jsxc.lib.xmpp.js.html#line245">line 245</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -812,7 +743,7 @@
|
||||
|
||||
<dt class="tag-source">Source:</dt>
|
||||
<dd class="tag-source"><ul class="dummy"><li>
|
||||
<a href="jsxc.lib.xmpp.js.html">jsxc.lib.xmpp.js</a>, <a href="jsxc.lib.xmpp.js.html#line400">line 400</a>
|
||||
<a href="jsxc.lib.xmpp.js.html">jsxc.lib.xmpp.js</a>, <a href="jsxc.lib.xmpp.js.html#line419">line 419</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -924,7 +855,7 @@
|
||||
|
||||
<dt class="tag-source">Source:</dt>
|
||||
<dd class="tag-source"><ul class="dummy"><li>
|
||||
<a href="jsxc.lib.xmpp.js.html">jsxc.lib.xmpp.js</a>, <a href="jsxc.lib.xmpp.js.html#line1054">line 1054</a>
|
||||
<a href="jsxc.lib.xmpp.js.html">jsxc.lib.xmpp.js</a>, <a href="jsxc.lib.xmpp.js.html#line1085">line 1085</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -1097,7 +1028,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#line1077">line 1077</a>
|
||||
<a href="jsxc.lib.xmpp.js.html">jsxc.lib.xmpp.js</a>, <a href="jsxc.lib.xmpp.js.html#line1108">line 1108</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -1267,7 +1198,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#line1031">line 1031</a>
|
||||
<a href="jsxc.lib.xmpp.js.html">jsxc.lib.xmpp.js</a>, <a href="jsxc.lib.xmpp.js.html#line1062">line 1062</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -1384,7 +1315,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#line168">line 168</a>
|
||||
<a href="jsxc.lib.xmpp.js.html">jsxc.lib.xmpp.js</a>, <a href="jsxc.lib.xmpp.js.html#line179">line 179</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -1471,7 +1402,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#line454">line 454</a>
|
||||
<a href="jsxc.lib.xmpp.js.html">jsxc.lib.xmpp.js</a>, <a href="jsxc.lib.xmpp.js.html#line472">line 472</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -1588,7 +1519,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#line441">line 441</a>
|
||||
<a href="jsxc.lib.xmpp.js.html">jsxc.lib.xmpp.js</a>, <a href="jsxc.lib.xmpp.js.html#line459">line 459</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -1705,7 +1636,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#line738">line 738</a>
|
||||
<a href="jsxc.lib.xmpp.js.html">jsxc.lib.xmpp.js</a>, <a href="jsxc.lib.xmpp.js.html#line769">line 769</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -1840,7 +1771,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#line603">line 603</a>
|
||||
<a href="jsxc.lib.xmpp.js.html">jsxc.lib.xmpp.js</a>, <a href="jsxc.lib.xmpp.js.html#line621">line 621</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -1868,7 +1799,7 @@
|
||||
|
||||
|
||||
<dt>
|
||||
<h4 class="name" id="onRidChange"><span class="type-signature"><private, static> </span>onRidChange<span class="signature">(ev, data)</span><span class="type-signature"></span></h4>
|
||||
<h4 class="name" id="onRidChange"><span class="type-signature"><private, static> </span>onRidChange<span class="signature">(rid)</span><span class="type-signature"></span></h4>
|
||||
|
||||
|
||||
</dt>
|
||||
@@ -1910,13 +1841,13 @@
|
||||
|
||||
<tr>
|
||||
|
||||
<td class="name"><code>ev</code></td>
|
||||
<td class="name"><code>rid</code></td>
|
||||
|
||||
|
||||
<td class="type">
|
||||
|
||||
|
||||
<span class="param-type">event</span>
|
||||
<span class="param-type">integer</span>
|
||||
|
||||
|
||||
|
||||
@@ -1926,30 +1857,7 @@
|
||||
|
||||
|
||||
|
||||
<td class="description last"></td>
|
||||
</tr>
|
||||
|
||||
|
||||
|
||||
<tr>
|
||||
|
||||
<td class="name"><code>data</code></td>
|
||||
|
||||
|
||||
<td class="type">
|
||||
|
||||
|
||||
<span class="param-type">obejct</span>
|
||||
|
||||
|
||||
|
||||
</td>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<td class="description last"></td>
|
||||
<td class="description last">next valid request id</td>
|
||||
</tr>
|
||||
|
||||
|
||||
@@ -1980,7 +1888,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#line862">line 862</a>
|
||||
<a href="jsxc.lib.xmpp.js.html">jsxc.lib.xmpp.js</a>, <a href="jsxc.lib.xmpp.js.html#line906">line 906</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -2097,7 +2005,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#line477">line 477</a>
|
||||
<a href="jsxc.lib.xmpp.js.html">jsxc.lib.xmpp.js</a>, <a href="jsxc.lib.xmpp.js.html#line495">line 495</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -2214,7 +2122,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#line529">line 529</a>
|
||||
<a href="jsxc.lib.xmpp.js.html">jsxc.lib.xmpp.js</a>, <a href="jsxc.lib.xmpp.js.html#line547">line 547</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -2353,7 +2261,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#line928">line 928</a>
|
||||
<a href="jsxc.lib.xmpp.js.html">jsxc.lib.xmpp.js</a>, <a href="jsxc.lib.xmpp.js.html#line972">line 972</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -2493,7 +2401,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#line872">line 872</a>
|
||||
<a href="jsxc.lib.xmpp.js.html">jsxc.lib.xmpp.js</a>, <a href="jsxc.lib.xmpp.js.html#line916">line 916</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -2641,7 +2549,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#line979">line 979</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>
|
||||
|
||||
|
||||
@@ -2710,7 +2618,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#line365">line 365</a>
|
||||
<a href="jsxc.lib.xmpp.js.html">jsxc.lib.xmpp.js</a>, <a href="jsxc.lib.xmpp.js.html#line384">line 384</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -2751,13 +2659,13 @@
|
||||
</div>
|
||||
|
||||
<nav>
|
||||
<h2><a href="index.html">Index</a></h2><h3>Namespaces</h3><ul><li><a href="jsxc.html">jsxc</a></li><li><a href="jsxc.gui.html">gui</a></li><li><a href="jsxc.gui.dialog.html">dialog</a></li><li><a href="jsxc.gui.queryActions.html">queryActions</a></li><li><a href="jsxc.gui.roster.html">roster</a></li><li><a href="jsxc.gui.window.html">window</a></li><li><a href="jsxc.muc.html">muc</a></li><li><a href="jsxc.notification.html">notification</a></li><li><a href="jsxc.options.html">options</a></li><li><a href="jsxc.otr.html">otr</a></li><li><a href="jsxc.storage.html">storage</a></li><li><a href="jsxc.webrtc.html">webrtc</a></li><li><a href="jsxc.xmpp.html">xmpp</a></li><li><a href="jsxc.xmpp.bookmarks.html">bookmarks</a></li><li><a href="jsxc.xmpp.carbons.html">carbons</a></li></ul><h3><a href="global.html">Global</a></h3>
|
||||
<h2><a href="index.html">Index</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.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>Global</h3><ul><li>{boolean}</li><li>{integer}</li><li>{string}</li></ul>
|
||||
</nav>
|
||||
|
||||
<br clear="both">
|
||||
|
||||
<footer>
|
||||
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.2.2</a> on Tue Nov 17 2015 17:01:05 GMT+0100 (CET)
|
||||
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.2.2</a> on Fri Mar 11 2016 17:32:13 GMT+0100 (CET)
|
||||
</footer>
|
||||
|
||||
<script> prettyPrint(); </script>
|
||||
|
||||
@@ -12,7 +12,6 @@
|
||||
<!-- require:dependencies -->
|
||||
<link href="../build/css/jquery-ui.min.css" media="all" rel="stylesheet" type="text/css" />
|
||||
<link href="../dev/css/jsxc.css" media="all" rel="stylesheet" type="text/css" />
|
||||
<link href="../dev/css/jsxc.webrtc.css" media="all" rel="stylesheet" type="text/css" />
|
||||
<!-- endrequire -->
|
||||
|
||||
<link href="css/example.css" media="all" rel="stylesheet" type="text/css" />
|
||||
@@ -20,7 +19,6 @@
|
||||
<!-- require:dependencies -->
|
||||
<script src="../dev/lib/jquery.min.js"></script>
|
||||
<script src="../dev/lib/jquery.ui.min.js"></script>
|
||||
<script src="../dev/lib/jquery.colorbox-min.js"></script>
|
||||
<script src="../dev/lib/jquery.slimscroll.js"></script>
|
||||
<script src="../dev/lib/jquery.fullscreen.js"></script>
|
||||
<script src="../dev/lib/jsxc.dep.js"></script>
|
||||
|
||||
@@ -12,7 +12,6 @@
|
||||
<!-- require:dependencies -->
|
||||
<link href="../build/css/jquery-ui.min.css" media="all" rel="stylesheet" type="text/css" />
|
||||
<link href="../build/css/jsxc.css" media="all" rel="stylesheet" type="text/css" />
|
||||
<link href="../build/css/jsxc.webrtc.css" media="all" rel="stylesheet" type="text/css" />
|
||||
<!-- endrequire -->
|
||||
|
||||
<link href="css/example.css" media="all" rel="stylesheet" type="text/css" />
|
||||
@@ -20,7 +19,6 @@
|
||||
<!-- require:dependencies -->
|
||||
<script src="../build/lib/jquery.min.js"></script>
|
||||
<script src="../build/lib/jquery.ui.min.js"></script>
|
||||
<script src="../build/lib/jquery.colorbox-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>
|
||||
|
||||
@@ -10,14 +10,10 @@
|
||||
<link href="css/bootstrap.min.css" media="all" rel="stylesheet" type="text/css" />
|
||||
|
||||
<link href="../build/css/jquery-ui.min.css" media="all" rel="stylesheet" type="text/css" />
|
||||
<link href="../build/css/jquery.mCustomScrollbar.css" media="all" rel="stylesheet" type="text/css" />
|
||||
<link href="../build/css/jquery.colorbox.css" media="all" rel="stylesheet" type="text/css" />
|
||||
<link href="../build/css/jsxc.css" media="all" rel="stylesheet" type="text/css" />
|
||||
<link href="../build/css/jsxc.webrtc.css" media="all" rel="stylesheet" type="text/css" />
|
||||
|
||||
<script src="../build/lib/jquery.min.js"></script>
|
||||
<script src="../build/lib/jquery.ui.min.js"></script>
|
||||
<script src="../build/lib/jquery.colorbox-min.js"></script>
|
||||
<script src="../build/lib/jquery.slimscroll.js"></script>
|
||||
<script src="../build/lib/jquery.fullscreen.js"></script>
|
||||
|
||||
|
||||
@@ -0,0 +1,57 @@
|
||||
<?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"
|
||||
height="16"
|
||||
width="16"
|
||||
version="1.1"
|
||||
id="svg6"
|
||||
inkscape:version="0.91+devel r"
|
||||
sodipodi:docname="bookmark_black.svg"
|
||||
viewBox="0 0 16 16">
|
||||
<metadata
|
||||
id="metadata12">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<defs
|
||||
id="defs10" />
|
||||
<sodipodi:namedview
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1394"
|
||||
inkscape:window-height="922"
|
||||
inkscape:document-units="px"
|
||||
id="namedview8"
|
||||
showgrid="false"
|
||||
inkscape:zoom="41.7193"
|
||||
inkscape:cx="9.0040062"
|
||||
inkscape:cy="8.196313"
|
||||
inkscape:window-x="61"
|
||||
inkscape:window-y="34"
|
||||
inkscape:window-maximized="0"
|
||||
inkscape:current-layer="svg6" />
|
||||
<path
|
||||
style="fill:#000000;fill-rule:evenodd;stroke:#000000;stroke-width:0.69061381;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="M 4.1233005,0.89389693 V 14.588472 l 3.8089033,-4.450726 3.8089022,4.450726 V 0.93667093 Z"
|
||||
id="path4141"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="cccccc" />
|
||||
</svg>
|
||||
|
Depois Largura: | Altura: | Tamanho: 1.8 KiB |
@@ -0,0 +1,58 @@
|
||||
<?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"
|
||||
height="16"
|
||||
width="16"
|
||||
version="1.1"
|
||||
id="svg6"
|
||||
inkscape:version="0.91+devel r"
|
||||
sodipodi:docname="bookmark_white.svg"
|
||||
viewBox="0 0 16 16">
|
||||
<metadata
|
||||
id="metadata12">
|
||||
<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></dc:title>
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<defs
|
||||
id="defs10" />
|
||||
<sodipodi:namedview
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1394"
|
||||
inkscape:window-height="922"
|
||||
inkscape:document-units="px"
|
||||
id="namedview8"
|
||||
showgrid="false"
|
||||
inkscape:zoom="41.7193"
|
||||
inkscape:cx="9.0040062"
|
||||
inkscape:cy="8.196313"
|
||||
inkscape:window-x="61"
|
||||
inkscape:window-y="34"
|
||||
inkscape:window-maximized="0"
|
||||
inkscape:current-layer="svg6" />
|
||||
<path
|
||||
style="fill:#ffffff;fill-rule:evenodd;stroke:#ffffff;stroke-width:0.69061381;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="M 4.1233005,0.89389693 V 14.588472 l 3.8089033,-4.450726 3.8089022,4.450726 V 0.93667093 Z"
|
||||
id="path4141"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="cccccc" />
|
||||
</svg>
|
||||
|
Depois Largura: | Altura: | Tamanho: 1.8 KiB |
@@ -0,0 +1,67 @@
|
||||
<?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"
|
||||
viewBox="0 0 15 15"
|
||||
id="svg3041"
|
||||
height="15"
|
||||
width="15"
|
||||
version="1.1"
|
||||
inkscape:version="0.91+devel r"
|
||||
sodipodi:docname="padlock_open_disabled_black.svg">
|
||||
<sodipodi:namedview
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1678"
|
||||
inkscape:window-height="958"
|
||||
id="namedview7"
|
||||
showgrid="false"
|
||||
inkscape:zoom="22.627417"
|
||||
inkscape:cx="7.9563473"
|
||||
inkscape:cy="5.2327464"
|
||||
inkscape:window-x="51"
|
||||
inkscape:window-y="34"
|
||||
inkscape:window-maximized="0"
|
||||
inkscape:current-layer="svg3041" />
|
||||
<metadata
|
||||
id="metadata3047">
|
||||
<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>
|
||||
<defs
|
||||
id="defs3045" />
|
||||
<path
|
||||
style="fill:#000000;stroke:none"
|
||||
d="M 7.53125 0.00390625 C 4.961633 0.00390625 3.4225559 1.2787042 2.7519531 2.5410156 C 2.0813503 3.803327 2.1328125 5.0507812 2.1328125 5.0507812 L 4.03125 4.9921875 C 4.03125 4.9921875 4.019782 4.2051806 4.4296875 3.4335938 C 4.8395929 2.6620069 5.524596 1.9042969 7.53125 1.9042969 C 9.5466986 1.9042969 10.324942 2.6626717 10.789062 3.4199219 C 11.253184 4.177172 11.285156 4.9238281 11.285156 4.9238281 L 11.320312 8.0078125 L 2.1601562 8.0078125 L 2.1601562 15 L 13.220703 15 L 13.220703 9.5371094 L 13.238281 9.5371094 L 13.220703 8.0078125 L 13.185547 4.8730469 L 13.185547 4.8632812 C 13.185547 4.8632812 13.153667 3.6408231 12.410156 2.4277344 C 11.666646 1.2146499 10.092069 0.00390625 7.53125 0.00390625 z "
|
||||
id="rect3051" />
|
||||
<path
|
||||
style="fill:#ffffff;fill-rule:evenodd;stroke:#ffffff;stroke-width:4;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="M 0.18997448,16.385763 15.366374,-2.2072779"
|
||||
id="path4160-1-3-1"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="cc" />
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="M -0.40599717,17.241436 14.770403,-1.3516053"
|
||||
id="path4160-1-3"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="cc" />
|
||||
</svg>
|
||||
|
Depois Largura: | Altura: | Tamanho: 2.9 KiB |
externo
-7
Diff do arquivo suprimido porque uma ou mais linhas são muito longas
@@ -1,189 +0,0 @@
|
||||
/* Remove close button from firstrunwizard */
|
||||
#closeWizard {
|
||||
display: none !important;
|
||||
}
|
||||
|
||||
/*
|
||||
Colorbox Core Style:
|
||||
The following CSS is consistent between example themes and should not be altered.
|
||||
*/
|
||||
#colorbox,#cboxOverlay,#cboxWrapper {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
z-index: 9999;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
#cboxWrapper {
|
||||
max-width: none;
|
||||
}
|
||||
|
||||
#cboxOverlay {
|
||||
position: fixed;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
#cboxMiddleLeft,#cboxBottomLeft {
|
||||
clear: left;
|
||||
}
|
||||
|
||||
#cboxContent {
|
||||
position: relative;
|
||||
}
|
||||
|
||||
#cboxLoadedContent {
|
||||
overflow: auto;
|
||||
-webkit-overflow-scrolling: touch;
|
||||
}
|
||||
|
||||
#cboxTitle {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
#cboxLoadingOverlay,#cboxLoadingGraphic {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
#cboxPrevious,#cboxNext,#cboxClose,#cboxSlideshow {
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.cboxPhoto {
|
||||
float: left;
|
||||
margin: auto;
|
||||
border: 0;
|
||||
display: block;
|
||||
max-width: none;
|
||||
-ms-interpolation-mode: bicubic;
|
||||
}
|
||||
|
||||
.cboxIframe {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
display: block;
|
||||
border: 0;
|
||||
}
|
||||
|
||||
#colorbox,#cboxContent,#cboxLoadedContent {
|
||||
box-sizing: content-box;
|
||||
-moz-box-sizing: content-box;
|
||||
-webkit-box-sizing: content-box;
|
||||
}
|
||||
|
||||
/*
|
||||
User Style:
|
||||
Change the following styles to modify the appearance of Colorbox. They are
|
||||
ordered & tabbed in a way that represents the nesting of the generated HTML.
|
||||
*/
|
||||
#cboxOverlay {
|
||||
background: #000;
|
||||
}
|
||||
|
||||
#colorbox {
|
||||
|
||||
}
|
||||
|
||||
#cboxContent {
|
||||
margin-top: 20px;
|
||||
}
|
||||
|
||||
.cboxIframe {
|
||||
background: #fff;
|
||||
}
|
||||
|
||||
#cboxError {
|
||||
padding: 50px;
|
||||
border: 0px solid #ccc;
|
||||
}
|
||||
|
||||
#cboxLoadedContent {
|
||||
border: 0px solid #555;
|
||||
background: #fff;
|
||||
border-radius: 5px;
|
||||
}
|
||||
|
||||
#cboxTitle {
|
||||
position: absolute;
|
||||
top: -20px;
|
||||
left: 0;
|
||||
color: #ccc;
|
||||
}
|
||||
|
||||
#cboxCurrent {
|
||||
position: absolute;
|
||||
top: -20px;
|
||||
right: 0px;
|
||||
color: #ccc;
|
||||
}
|
||||
|
||||
#cboxSlideshow {
|
||||
position: absolute;
|
||||
top: -20px;
|
||||
right: 90px;
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
#cboxPrevious:hover {
|
||||
background-position: bottom left;
|
||||
}
|
||||
|
||||
#cboxNext:hover {
|
||||
background-position: bottom right;
|
||||
}
|
||||
|
||||
#cboxLoadingOverlay {
|
||||
background: #fff;
|
||||
}
|
||||
|
||||
#cboxClose {
|
||||
position: absolute;
|
||||
top: 5px;
|
||||
right: 5px;
|
||||
display: block;
|
||||
opacity: 0.5;
|
||||
width: 19px !important;
|
||||
height: 19px;
|
||||
border: 0px;
|
||||
text-indent: -9999px;
|
||||
background-color: #fff;
|
||||
}
|
||||
#cboxClose:before {
|
||||
content: '×';
|
||||
position: absolute;
|
||||
top: 0px;
|
||||
left: 0px;
|
||||
display: block;
|
||||
width: 19px;
|
||||
height: 19px;
|
||||
opacity: 0.5;
|
||||
text-indent: 0;
|
||||
text-align: center;
|
||||
line-height: 19px;
|
||||
font-size: 19px;
|
||||
}
|
||||
|
||||
#cboxClose:before:hover {
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
#cboxClose:hover {
|
||||
background-position: right center !important;
|
||||
opacity: 1.0;
|
||||
}
|
||||
|
||||
/*
|
||||
The following fixes a problem where IE7 and IE8 replace a PNG's alpha transparency with a black fill
|
||||
when an alpha filter (opacity change) is set on the element or ancestor element. This style is not applied to or needed in IE9.
|
||||
See: http://jacklmoore.com/notes/ie-transparency-problems/
|
||||
*/
|
||||
.cboxIE #cboxTopLeft,.cboxIE #cboxTopCenter,.cboxIE #cboxTopRight,.cboxIE #cboxBottomLeft,.cboxIE #cboxBottomCenter,.cboxIE #cboxBottomRight,.cboxIE #cboxMiddleLeft,.cboxIE #cboxMiddleRight
|
||||
{
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#00FFFFFF,
|
||||
endColorstr=#00FFFFFF);
|
||||
}
|
||||
+1
-1
@@ -241,7 +241,7 @@
|
||||
"message_not_send_forbidden": "Votre message n'a pas été envoyé parce que vous n'avez pas le droit de parler dans ce salon",
|
||||
"message_not_send_not-acceptable": "Votre message n'a pas été envoyé car il n'y a personne dans ce salon",
|
||||
"This_room_has_been_closed": "Ce salon a été fermé",
|
||||
"Room_logging_is_enabled": "L'historique du salon est archivé",
|
||||
"Room_logging_is_enabled": "L'historique du salon est conservé",
|
||||
"A_password_is_required": "Un mot de passe est requis",
|
||||
"You_are_not_on_the_member_list": "Vous n'êtes pas sur la liste des membres",
|
||||
"You_are_banned_from_this_room": "Vous avez été banni de ce salon",
|
||||
|
||||
+20
-20
@@ -160,14 +160,14 @@
|
||||
"Start_video_call": "Iniciar chamada de vídeo",
|
||||
"Join_chat": null,
|
||||
"Join": null,
|
||||
"Room": null,
|
||||
"Room": "Sala",
|
||||
"Nickname": "Apelido",
|
||||
"left_the_building": null,
|
||||
"entered_the_room": null,
|
||||
"left_the_building": "__nickname__ deixou o prédio",
|
||||
"entered_the_room": "__nickname__ entrou na sala",
|
||||
"is_now_known_as": "__oldNickname__ agora é conhecido como __newNickname__",
|
||||
"This_room_is": null,
|
||||
"This_room_is": "Esta sala é",
|
||||
"muc_hidden": {
|
||||
"keyword": null,
|
||||
"keyword": "oculto",
|
||||
"description": "Não pode ser encontrado através de pesquisa"
|
||||
},
|
||||
"muc_membersonly": {
|
||||
@@ -175,7 +175,7 @@
|
||||
"description": "você precisa estar na lista de membros"
|
||||
},
|
||||
"muc_moderated": {
|
||||
"keyword": null,
|
||||
"keyword": "moderado",
|
||||
"description": "Somente pessoas com \"voice\" podem enviar mensagens"
|
||||
},
|
||||
"muc_nonanonymous": {
|
||||
@@ -183,7 +183,7 @@
|
||||
"description": null
|
||||
},
|
||||
"muc_open": {
|
||||
"keyword": null,
|
||||
"keyword": "abrir",
|
||||
"description": "Todos podem entrar"
|
||||
},
|
||||
"muc_passwordprotected": {
|
||||
@@ -195,7 +195,7 @@
|
||||
"description": "Não será destruída se o último ocupante tiver saído"
|
||||
},
|
||||
"muc_public": {
|
||||
"keyword": null,
|
||||
"keyword": "público",
|
||||
"description": null
|
||||
},
|
||||
"muc_semianonymous": {
|
||||
@@ -203,26 +203,26 @@
|
||||
"description": "Sua identificação jabber só é exposta para administradores da sala"
|
||||
},
|
||||
"muc_temporary": {
|
||||
"keyword": null,
|
||||
"keyword": "temporário",
|
||||
"description": "Será destruída se o último ocupante tiver saído"
|
||||
},
|
||||
"muc_unmoderated": {
|
||||
"keyword": null,
|
||||
"keyword": "sem moderação",
|
||||
"description": "Todos tem permissão de enviar mensagens"
|
||||
},
|
||||
"muc_unsecured": {
|
||||
"keyword": null,
|
||||
"description": "Você não precisa de senha para entrar"
|
||||
},
|
||||
"Continue": null,
|
||||
"Continue": "Avançar",
|
||||
"Server": null,
|
||||
"Rooms_are_loaded": null,
|
||||
"Rooms_are_loaded": "Sala carregada",
|
||||
"Could_load_only": null,
|
||||
"muc_explanation": null,
|
||||
"You_already_joined_this_room": "Você já entrou nesta sala",
|
||||
"This_room_will_be_closed": null,
|
||||
"This_room_will_be_closed": "Esta sala será fechada",
|
||||
"Room_not_found_": null,
|
||||
"Loading_room_information": null,
|
||||
"Loading_room_information": "Carregar informação da sala",
|
||||
"Destroy": null,
|
||||
"Leave": null,
|
||||
"changed_subject_to": null,
|
||||
@@ -235,7 +235,7 @@
|
||||
"muc_removed_membersonly": "Você foi removido da sala pois a sala foi alterada somente para membros e você não é um membro",
|
||||
"muc_removed_info_membersonly": null,
|
||||
"muc_removed_shutdown": null,
|
||||
"Reason": null,
|
||||
"Reason": "Motivo",
|
||||
"message_not_send": null,
|
||||
"message_not_send_item-not-found": null,
|
||||
"message_not_send_forbidden": null,
|
||||
@@ -249,18 +249,18 @@
|
||||
"The_maximum_number_": null,
|
||||
"This_room_is_locked_": null,
|
||||
"You_are_not_allowed_to_create_": null,
|
||||
"Alert": null,
|
||||
"Alert": "Alerta",
|
||||
"Call_started": null,
|
||||
"Call_terminated": null,
|
||||
"Carbon_copy": null,
|
||||
"Enable": null,
|
||||
"jingle_reason_busy": null,
|
||||
"jingle_reason_busy": "ocupado",
|
||||
"jingle_reason_decline": null,
|
||||
"jingle_reason_success": null,
|
||||
"Media_failure": null,
|
||||
"No_local_audio_device": null,
|
||||
"No_local_video_device": null,
|
||||
"Ok": null,
|
||||
"Ok": "Ok",
|
||||
"PermissionDeniedError": "Você ou seu navegador negou permissão para acessar audio/video",
|
||||
"Use_local_audio_device": null,
|
||||
"Use_local_video_device": null,
|
||||
@@ -281,10 +281,10 @@
|
||||
"Do_you_want_to_change_the_default_room_configuration": "Você quer alterar as configurações da sala?",
|
||||
"Default": "Padrão",
|
||||
"Change": "Alterar",
|
||||
"Send_file": null,
|
||||
"Send_file": "Enviar arquivo",
|
||||
"setting-explanation-carbon": null,
|
||||
"setting-explanation-login": null,
|
||||
"setting-explanation-priority": null,
|
||||
"setting-explanation-xmpp": null
|
||||
"setting-explanation-xmpp": "Essas opções são usadas para conectar no Servidor XMPP"
|
||||
}
|
||||
}
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "jsxc",
|
||||
"version": "3.0.0-beta1",
|
||||
"version": "3.0.0",
|
||||
"description": "Real-time chat app",
|
||||
"homepage": "http://www.jsxc.org/",
|
||||
"bugs": "https://github.com/jsxc/jsxc/issues",
|
||||
|
||||
+25
-6
@@ -24,6 +24,7 @@
|
||||
#jsxc_dialog {
|
||||
padding: 20px;
|
||||
min-width: 320px;
|
||||
max-width: 100%;
|
||||
display: inline-block;
|
||||
text-align: left;
|
||||
position: relative;
|
||||
@@ -137,7 +138,7 @@
|
||||
}
|
||||
}
|
||||
|
||||
.jsxc_libraries {
|
||||
.jsxc_libraries, .jsxc_credits {
|
||||
max-width: 300px;
|
||||
}
|
||||
}
|
||||
@@ -318,12 +319,26 @@ img.jsxc_vCard {
|
||||
.jsxc_btn {
|
||||
width: auto;
|
||||
min-width: 25px;
|
||||
padding: 5px;
|
||||
background-color: rgba(240, 240, 240, 0.9);
|
||||
font-weight: bold;
|
||||
color: #555;
|
||||
border: 1px solid rgba(190, 190, 190, 0.9);
|
||||
display: inline-block;
|
||||
padding: 6px 12px;
|
||||
margin: 0px 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;
|
||||
|
||||
&.jsxc_btn-default {
|
||||
border-color: #ccc;
|
||||
color: #555;
|
||||
background-color: rgba(240, 240, 240, 0.9);
|
||||
}
|
||||
|
||||
&.jsxc_btn-primary {
|
||||
color: #fff;
|
||||
@@ -455,6 +470,10 @@ img.jsxc_vCard {
|
||||
background-image: image-url("groupcontact_black.svg");
|
||||
}
|
||||
|
||||
.jsxc_bookmarkicon {
|
||||
background-image: image-url("bookmark_black.svg");
|
||||
}
|
||||
|
||||
.jsxc_more {
|
||||
float: right;
|
||||
width: 44px;
|
||||
|
||||
+6
-18
@@ -6,35 +6,23 @@
|
||||
}
|
||||
|
||||
.jsxc_windowItem {
|
||||
&.jsxc_groupchat {
|
||||
&.jsxc_groupchat.jsxc_normal {
|
||||
.jsxc_fade {
|
||||
padding-top: 44px;
|
||||
|
||||
.jsxc_min & {
|
||||
padding-top: 0px;
|
||||
}
|
||||
}
|
||||
|
||||
.jsxc_video {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.jsxc_transfer {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.jsxc_fingerprints, .jsxc_verification, .jsxc_transfer {
|
||||
.jsxc_fingerprints, .jsxc_verification, .jsxc_transfer, .jsxc_video, .jsxc_sendFile {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.jsxc_members {
|
||||
background-image: image-url("group_grey.svg");
|
||||
background-image: image-url("group_white.svg");
|
||||
background-size: 15px 15px;
|
||||
background-repeat: no-repeat;
|
||||
background-position: center;
|
||||
|
||||
&:hover {
|
||||
background-image: image-url("group_white.svg");
|
||||
opacity: 1.0;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -109,8 +97,8 @@
|
||||
& > li {
|
||||
display: block;
|
||||
width: 100%;
|
||||
height: 27px;
|
||||
line-height: 27px;
|
||||
height: 40px;
|
||||
line-height: 40px;
|
||||
|
||||
.jsxc_name {
|
||||
display: block;
|
||||
|
||||
+3
-9
@@ -172,12 +172,6 @@
|
||||
background-repeat: no-repeat;
|
||||
background-image: image-url("bookmark_red.svg");
|
||||
}
|
||||
|
||||
.jsxc_bookmarkOptions {
|
||||
text-indent: 9999px;
|
||||
background-image: image-url("gear_white.svg");
|
||||
background-size: 15px 15px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -195,16 +189,16 @@
|
||||
|
||||
.jsxc_name {
|
||||
height: 100%;
|
||||
line-height: 35px;
|
||||
line-height: 40px;
|
||||
|
||||
.jsxc_min & {
|
||||
height: 50%;
|
||||
line-height: 17.5px;
|
||||
line-height: 20px;
|
||||
}
|
||||
|
||||
.jsxc_rosteritem & {
|
||||
height: 50%;
|
||||
line-height: 17.5px;
|
||||
line-height: 20px;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+17
-2
@@ -67,7 +67,6 @@
|
||||
|
||||
.jsxc_controlbar {
|
||||
opacity: 0;
|
||||
transition: 1s opacity;
|
||||
}
|
||||
|
||||
&:hover {
|
||||
@@ -187,12 +186,23 @@ div {
|
||||
right: 0px;
|
||||
text-align: center;
|
||||
z-index: 9090;
|
||||
transition: 1s opacity;
|
||||
opacity: 0;
|
||||
|
||||
@media (min-width: 768px) {
|
||||
bottom: 5%;
|
||||
top: initial;
|
||||
}
|
||||
|
||||
&.jsxc_visible {
|
||||
opacity: 1.0;
|
||||
}
|
||||
|
||||
& > div {
|
||||
background-color: rgba(0, 0, 0, 0.5);
|
||||
height: 44px;
|
||||
border-radius: 22px;
|
||||
padding: 5px;
|
||||
padding: 0px 5px;
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
@@ -263,6 +273,11 @@ div {
|
||||
bottom: 0;
|
||||
width: 250px;
|
||||
background-color: $window_bg;
|
||||
display: none;
|
||||
|
||||
@media (min-width: 768px) {
|
||||
display: block;
|
||||
}
|
||||
|
||||
.jsxc_settings {
|
||||
display: none !important;
|
||||
|
||||
+63
-1
@@ -251,6 +251,42 @@
|
||||
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;
|
||||
@@ -371,7 +407,6 @@
|
||||
.jsxc_chatmessage {
|
||||
margin: 3px;
|
||||
padding: 4px;
|
||||
padding-right: 10px;
|
||||
word-wrap: break-word;
|
||||
background-color: $chatmessage_bg;
|
||||
position: relative;
|
||||
@@ -447,6 +482,23 @@
|
||||
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;
|
||||
@@ -478,6 +530,7 @@
|
||||
position: relative;
|
||||
max-width: 76%;
|
||||
margin-right: 10px;
|
||||
padding-right: 10px;
|
||||
border-radius: 3px;
|
||||
background-color: $chatmessage_out_bg;
|
||||
|
||||
@@ -551,6 +604,15 @@ div.jsxc_transfer {
|
||||
opacity: 1.0;
|
||||
}
|
||||
|
||||
&.jsxc_disabled {
|
||||
background-image: image-url("padlock_open_disabled_black.svg");
|
||||
cursor: default;
|
||||
|
||||
&:hover {
|
||||
opacity: 0.3;
|
||||
}
|
||||
}
|
||||
|
||||
&.jsxc_fin {
|
||||
opacity: 1.0;
|
||||
background-image: image-url("padlock_close_grey.svg");
|
||||
|
||||
@@ -14,3 +14,4 @@ $font_serif: serif;
|
||||
@import "muc";
|
||||
|
||||
@import "jsxc";
|
||||
@import "webrtc";
|
||||
|
||||
@@ -1,3 +0,0 @@
|
||||
@import "colors";
|
||||
|
||||
@import "webrtc";
|
||||
@@ -17,6 +17,7 @@
|
||||
* @param {boolean} args.encrypted
|
||||
* @param {boolean} args.forwarded
|
||||
* @param {boolean} args.sender
|
||||
* @param {integer} args.stamp
|
||||
* @param {object} args.attachment Attached data
|
||||
* @param {string} args.attachment.name File name
|
||||
* @param {string} args.attachment.size File size
|
||||
|
||||
+53
-25
@@ -828,12 +828,16 @@ jsxc.gui = {
|
||||
if (navigator) {
|
||||
var key;
|
||||
for (key in navigator) {
|
||||
if (navigator.hasOwnProperty(key) && typeof navigator[key] === 'string') {
|
||||
if (typeof navigator[key] === 'string') {
|
||||
userInfo += '<b>' + key + ':</b> ' + navigator[key] + '<br />';
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if ($.fn && $.fn.jquery) {
|
||||
userInfo += '<b>jQuery:</b> ' + $.fn.jquery + '<br />';
|
||||
}
|
||||
|
||||
if (window.screen) {
|
||||
userInfo += '<b>Height:</b> ' + window.screen.height + '<br />';
|
||||
userInfo += '<b>Width:</b> ' + window.screen.width + '<br />';
|
||||
@@ -1043,22 +1047,24 @@ jsxc.gui = {
|
||||
jsxc.options.set(key, val);
|
||||
});
|
||||
|
||||
var success = jsxc.options.saveSettinsPermanent.call(this, data);
|
||||
|
||||
if (typeof self.attr('data-onsubmit') === 'string') {
|
||||
jsxc.exec(self.attr('data-onsubmit'), [success]);
|
||||
}
|
||||
|
||||
setTimeout(function() {
|
||||
if (success) {
|
||||
self.find('button[type="submit"]').switchClass('btn-primary', 'btn-success');
|
||||
} else {
|
||||
self.find('button[type="submit"]').switchClass('btn-primary', 'btn-danger');
|
||||
var cb = function(success) {
|
||||
if (typeof self.attr('data-onsubmit') === 'string') {
|
||||
jsxc.exec(self.attr('data-onsubmit'), [success]);
|
||||
}
|
||||
|
||||
setTimeout(function() {
|
||||
self.find('button[type="submit"]').switchClass('btn-danger btn-success', 'btn-primary');
|
||||
}, 2000);
|
||||
}, 200);
|
||||
if (success) {
|
||||
self.find('button[type="submit"]').switchClass('btn-primary', 'btn-success');
|
||||
} else {
|
||||
self.find('button[type="submit"]').switchClass('btn-primary', 'btn-danger');
|
||||
}
|
||||
setTimeout(function() {
|
||||
self.find('button[type="submit"]').switchClass('btn-danger btn-success', 'btn-primary');
|
||||
}, 2000);
|
||||
}, 200);
|
||||
};
|
||||
|
||||
jsxc.options.saveSettinsPermanent.call(this, data, cb);
|
||||
|
||||
return false;
|
||||
});
|
||||
@@ -1236,7 +1242,7 @@ jsxc.gui = {
|
||||
* @param bid
|
||||
*/
|
||||
unreadMsg: function(bid) {
|
||||
var winData = jsxc.storage.getUserItem('window', bid);
|
||||
var winData = jsxc.storage.getUserItem('window', bid) || {};
|
||||
var count = (winData && winData.unread) || 0;
|
||||
count = (count === true) ? 1 : count + 1; //unread was boolean (<2.1.0)
|
||||
|
||||
@@ -1637,11 +1643,12 @@ jsxc.gui.roster = {
|
||||
scrollTo: '0px'
|
||||
});
|
||||
|
||||
var chat = jsxc.storage.getUserItem('chat', bid) || [];
|
||||
var history = jsxc.storage.getUserItem('history', bid) || [];
|
||||
var i = 0;
|
||||
while (chat.length > i) {
|
||||
if (chat[i].direction !== 'sys') {
|
||||
$('[data-bid="' + bid + '"]').find('.jsxc_lastmsg .jsxc_text').html(chat[i].msg);
|
||||
while (history.length > i) {
|
||||
var message = new jsxc.Message(history[i]);
|
||||
if (message.direction !== jsxc.Message.SYS) {
|
||||
$('[data-bid="' + bid + '"]').find('.jsxc_lastmsg .jsxc_text').html(message.msg);
|
||||
break;
|
||||
}
|
||||
i++;
|
||||
@@ -2481,6 +2488,7 @@ jsxc.gui.window = {
|
||||
* @param {boolean} args.encrypted
|
||||
* @param {boolean} args.forwarded
|
||||
* @param {boolean} args.sender
|
||||
* @param {integer} args.stamp
|
||||
* @param {object} args.attachment Attached data
|
||||
* @param {string} args.attachment.name File name
|
||||
* @param {string} args.attachment.size File size
|
||||
@@ -2597,6 +2605,9 @@ jsxc.gui.window = {
|
||||
// translate shortnames to images
|
||||
msg = jsxc.gui.shortnameToImage(msg);
|
||||
|
||||
// replace line breaks
|
||||
msg = msg.replace(/(\r\n|\r|\n)/g, '<br />');
|
||||
|
||||
var msgDiv = $("<div>"),
|
||||
msgTsDiv = $("<div>");
|
||||
msgDiv.addClass('jsxc_chatmessage jsxc_' + direction);
|
||||
@@ -2693,6 +2704,10 @@ jsxc.gui.window = {
|
||||
}
|
||||
|
||||
avatarDiv.attr('title', jsxc.escapeHTML(title));
|
||||
|
||||
if (msgDiv.prev().length > 0 && msgDiv.prev().find('.jsxc_avatar').attr('title') === avatarDiv.attr('title')) {
|
||||
avatarDiv.css('visibility', 'hidden');
|
||||
}
|
||||
}
|
||||
|
||||
jsxc.gui.detectUriScheme(win);
|
||||
@@ -2766,7 +2781,11 @@ jsxc.gui.window = {
|
||||
|
||||
jsxc.storage.setUserItem('history', bid, []);
|
||||
|
||||
jsxc.gui.window.get(bid).find('.jsxc_textarea').empty();
|
||||
var win = jsxc.gui.window.get(bid);
|
||||
|
||||
if (win.length > 0) {
|
||||
win.find('.jsxc_textarea').empty();
|
||||
}
|
||||
},
|
||||
|
||||
/**
|
||||
@@ -2802,10 +2821,19 @@ jsxc.gui.window = {
|
||||
}
|
||||
},
|
||||
|
||||
showOverlay: function(bid, content) {
|
||||
showOverlay: function(bid, content, allowClose) {
|
||||
var win = jsxc.gui.window.get(bid);
|
||||
|
||||
win.find('.jsxc_overlay > div').empty().append(content);
|
||||
win.find('.jsxc_overlay .jsxc_body').empty().append(content);
|
||||
win.find('.jsxc_overlay .jsxc_close').off('click').click(function() {
|
||||
jsxc.gui.window.hideOverlay(bid);
|
||||
});
|
||||
|
||||
if (allowClose !== true) {
|
||||
win.find('.jsxc_overlay .jsxc_close').hide();
|
||||
} else {
|
||||
win.find('.jsxc_overlay .jsxc_close').show();
|
||||
}
|
||||
|
||||
win.addClass('jsxc_showOverlay');
|
||||
},
|
||||
@@ -2920,7 +2948,7 @@ jsxc.gui.window = {
|
||||
var msg = $('<div><div><label><input type="file" name="files" /><label></div></div>');
|
||||
msg.addClass('jsxc_chatmessage');
|
||||
|
||||
jsxc.gui.window.showOverlay(bid, msg);
|
||||
jsxc.gui.window.showOverlay(bid, msg, true);
|
||||
|
||||
msg.find('label').click();
|
||||
|
||||
@@ -2979,7 +3007,7 @@ jsxc.gui.window = {
|
||||
|
||||
}).appendTo(msg);
|
||||
|
||||
$('<button>').text($.t('Abort')).click(function() {
|
||||
$('<button>').addClass('jsxc_btn jsxc_btn-default').text($.t('Abort')).click(function() {
|
||||
jsxc.gui.window.hideOverlay(bid);
|
||||
}).appendTo(msg);
|
||||
});
|
||||
|
||||
+9
-4
@@ -141,10 +141,10 @@ jsxc = {
|
||||
}
|
||||
}
|
||||
|
||||
jsxc.log = jsxc.log + msg + ': ' + d + '\n';
|
||||
jsxc.log = jsxc.log + '$ ' + msg + ': ' + d + '\n';
|
||||
} else {
|
||||
console.log(msg);
|
||||
jsxc.log = jsxc.log + msg + '\n';
|
||||
jsxc.log = jsxc.log + '$ ' + msg + '\n';
|
||||
}
|
||||
},
|
||||
|
||||
@@ -181,6 +181,11 @@ jsxc = {
|
||||
*/
|
||||
init: function(options) {
|
||||
|
||||
if (options && options.loginForm && typeof options.loginForm.attachIfFound === 'boolean' && !options.loginForm.ifFound) {
|
||||
// translate deprated option attachIfFound found to new ifFound
|
||||
options.loginForm.ifFound = (options.loginForm.attachIfFound) ? 'attach' : 'pause';
|
||||
}
|
||||
|
||||
if (options) {
|
||||
// override default options
|
||||
$.extend(true, jsxc.options, options);
|
||||
@@ -273,7 +278,7 @@ jsxc = {
|
||||
});
|
||||
|
||||
// Check if we have to establish a new connection
|
||||
if (!jsxc.storage.getItem('rid') || !jsxc.storage.getItem('sid') || !jsxc.storage.getItem('jid')) {
|
||||
if (!(jsxc.storage.getItem('rid') && jsxc.storage.getItem('sid') && jsxc.storage.getItem('jid')) || (jsxc.options.loginForm && jsxc.options.loginForm.ifFound === 'force' && jsxc.isLoginForm())) {
|
||||
|
||||
// clean up rid and sid
|
||||
jsxc.storage.removeItem('rid');
|
||||
@@ -334,7 +339,7 @@ jsxc = {
|
||||
return false;
|
||||
});
|
||||
|
||||
} else if (!jsxc.isLoginForm() || (jsxc.options.loginForm && jsxc.options.loginForm.attachIfFound)) {
|
||||
} else if (!jsxc.isLoginForm() || (jsxc.options.loginForm && jsxc.options.loginForm.ifFound === 'attach')) {
|
||||
|
||||
// Restore old connection
|
||||
|
||||
|
||||
+175
-64
@@ -280,6 +280,10 @@ jsxc.muc = {
|
||||
var bookmark = $("#jsxc_bookmark").prop("checked");
|
||||
var autojoin = $('#jsxc_autojoin').prop('checked');
|
||||
|
||||
// clean up
|
||||
jsxc.gui.window.clear(room);
|
||||
jsxc.storage.setUserItem('member', room, {});
|
||||
|
||||
self.join(room, nickname, password, roomName, subject, bookmark, autojoin);
|
||||
|
||||
return false;
|
||||
@@ -524,7 +528,11 @@ jsxc.muc = {
|
||||
var roomdata = jsxc.storage.getUserItem('buddy', room);
|
||||
|
||||
jsxc.storage.updateUserItem('buddy', room, 'state', self.CONST.ROOMSTATE.AWAIT_DESTRUCTION);
|
||||
jsxc.gui.window.postMessage(room, 'sys', $.t('This_room_will_be_closed'));
|
||||
jsxc.gui.window.postMessage({
|
||||
bid: room,
|
||||
direction: jsxc.Message.SYS,
|
||||
msg: $.t('This_room_will_be_closed')
|
||||
});
|
||||
|
||||
var iq = $iq({
|
||||
to: room,
|
||||
@@ -602,7 +610,7 @@ jsxc.muc = {
|
||||
var ownNickname = own[bid];
|
||||
var mlIcon = $('<div class="jsxc_members"></div>');
|
||||
|
||||
win.find('.jsxc_tools > .jsxc_transfer').after(mlIcon);
|
||||
win.find('.jsxc_tools > .jsxc_settings').after(mlIcon);
|
||||
|
||||
var ml = $('<div class="jsxc_memberlist"><ul></ul></div>');
|
||||
win.find('.jsxc_fade').prepend(ml);
|
||||
@@ -671,7 +679,7 @@ jsxc.muc = {
|
||||
jsxc.muc.scrollMemberListBy(bid, 0);
|
||||
});
|
||||
|
||||
var destroy = $('<li>');
|
||||
var destroy = $('<a>');
|
||||
destroy.text($.t('Destroy'));
|
||||
destroy.addClass('jsxc_destroy');
|
||||
destroy.hide();
|
||||
@@ -679,7 +687,7 @@ jsxc.muc = {
|
||||
self.destroy(bid);
|
||||
});
|
||||
|
||||
win.find('.jsxc_settings ul').append(destroy);
|
||||
win.find('.jsxc_settings ul').append($('<li>').append(destroy));
|
||||
|
||||
if (roomdata.state > self.CONST.ROOMSTATE.INIT) {
|
||||
var member = jsxc.storage.getUserItem('member', bid) || {};
|
||||
@@ -693,14 +701,14 @@ jsxc.muc = {
|
||||
});
|
||||
}
|
||||
|
||||
var leave = $('<li>');
|
||||
var leave = $('<a>');
|
||||
leave.text($.t('Leave'));
|
||||
leave.addClass('jsxc_leave');
|
||||
leave.click(function() {
|
||||
self.leave(bid);
|
||||
});
|
||||
|
||||
win.find('.jsxc_settings ul').append(leave);
|
||||
win.find('.jsxc_settings ul').append($('<li>').append(leave));
|
||||
},
|
||||
|
||||
/**
|
||||
@@ -742,10 +750,6 @@ jsxc.muc = {
|
||||
|
||||
jsxc.storage.setUserItem('roomNames', jsxc.xmpp.conn.muc.roomNames);
|
||||
|
||||
// clean up
|
||||
jsxc.storage.removeUserItem('chat', room);
|
||||
member = {};
|
||||
|
||||
if (jsxc.gui.roster.getItem(room).length === 0) {
|
||||
var bl = jsxc.storage.getUserItem('buddylist');
|
||||
bl.push(room);
|
||||
@@ -768,7 +772,11 @@ jsxc.muc = {
|
||||
// room has been destroyed
|
||||
member = {};
|
||||
|
||||
jsxc.gui.window.postMessage(room, 'sys', $.t('This_room_has_been_closed'));
|
||||
jsxc.gui.window.postMessage({
|
||||
bid: room,
|
||||
direction: jsxc.Message.SYS,
|
||||
msg: $.t('This_room_has_been_closed')
|
||||
});
|
||||
|
||||
self.close(room);
|
||||
} else {
|
||||
@@ -786,27 +794,39 @@ jsxc.muc = {
|
||||
// prevent to display enter message
|
||||
member[newNickname] = {};
|
||||
|
||||
jsxc.gui.window.postMessage(room, 'sys', $.t('is_now_known_as', {
|
||||
oldNickname: nickname,
|
||||
newNickname: newNickname,
|
||||
escapeInterpolation: true
|
||||
}));
|
||||
jsxc.gui.window.postMessage({
|
||||
bid: room,
|
||||
direction: jsxc.Message.SYS,
|
||||
msg: $.t('is_now_known_as', {
|
||||
oldNickname: nickname,
|
||||
newNickname: newNickname,
|
||||
escapeInterpolation: true
|
||||
})
|
||||
});
|
||||
} else if (codes.length === 0 || (codes.length === 1 && codes.indexOf('110') > -1)) {
|
||||
// normal user exit
|
||||
jsxc.gui.window.postMessage(room, 'sys', $.t('left_the_building', {
|
||||
nickname: nickname,
|
||||
escapeInterpolation: true
|
||||
}));
|
||||
jsxc.gui.window.postMessage({
|
||||
bid: room,
|
||||
direction: jsxc.Message.SYS,
|
||||
msg: $.t('left_the_building', {
|
||||
nickname: nickname,
|
||||
escapeInterpolation: true
|
||||
})
|
||||
});
|
||||
}
|
||||
}
|
||||
} else {
|
||||
// new member joined
|
||||
|
||||
if (!member[nickname] && own[room]) {
|
||||
jsxc.gui.window.postMessage(room, 'sys', $.t('entered_the_room', {
|
||||
nickname: nickname,
|
||||
escapeInterpolation: true
|
||||
}));
|
||||
jsxc.gui.window.postMessage({
|
||||
bid: room,
|
||||
direction: jsxc.Message.SYS,
|
||||
msg: $.t('entered_the_room', {
|
||||
nickname: nickname,
|
||||
escapeInterpolation: true
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
member[nickname] = {
|
||||
@@ -891,19 +911,35 @@ jsxc.muc = {
|
||||
},
|
||||
/** Inform occupants that room logging is now enabled */
|
||||
170: function(room) {
|
||||
jsxc.gui.window.postMessage(room, 'sys', $.t('Room_logging_is_enabled'));
|
||||
jsxc.gui.window.postMessage({
|
||||
bid: room,
|
||||
direction: jsxc.Message.SYS,
|
||||
msg: $.t('Room_logging_is_enabled')
|
||||
});
|
||||
},
|
||||
/** Inform occupants that room logging is now disabled */
|
||||
171: function(room) {
|
||||
jsxc.gui.window.postMessage(room, 'sys', $.t('Room_logging_is_disabled'));
|
||||
jsxc.gui.window.postMessage({
|
||||
bid: room,
|
||||
direction: jsxc.Message.SYS,
|
||||
msg: $.t('Room_logging_is_disabled')
|
||||
});
|
||||
},
|
||||
/** Inform occupants that the room is now non-anonymous */
|
||||
172: function(room) {
|
||||
jsxc.gui.window.postMessage(room, 'sys', $.t('Room_is_now_non-anoymous'));
|
||||
jsxc.gui.window.postMessage({
|
||||
bid: room,
|
||||
direction: jsxc.Message.SYS,
|
||||
msg: $.t('Room_is_now_non-anoymous')
|
||||
});
|
||||
},
|
||||
/** Inform occupants that the room is now semi-anonymous */
|
||||
173: function(room) {
|
||||
jsxc.gui.window.postMessage(room, 'sys', $.t('Room_is_now_semi-anonymous'));
|
||||
jsxc.gui.window.postMessage({
|
||||
bid: room,
|
||||
direction: jsxc.Message.SYS,
|
||||
msg: $.t('Room_is_now_semi-anonymous')
|
||||
});
|
||||
},
|
||||
/** Inform user that a new room has been created */
|
||||
201: function(room) {
|
||||
@@ -949,14 +985,22 @@ jsxc.muc = {
|
||||
|
||||
if (own[room] === nickname) {
|
||||
jsxc.muc.close(room);
|
||||
jsxc.gui.window.postMessage(room, 'sys', $.t('muc_removed_banned'));
|
||||
jsxc.gui.window.postMessage({
|
||||
bid: room,
|
||||
direction: jsxc.Message.SYS,
|
||||
msg: $.t('muc_removed_banned')
|
||||
});
|
||||
|
||||
jsxc.muc.postReason(room, xdata);
|
||||
} else {
|
||||
jsxc.gui.window.postMessage(room, 'sys', $.t('muc_removed_info_banned', {
|
||||
nickname: nickname,
|
||||
escapeInterpolation: true
|
||||
}));
|
||||
jsxc.gui.window.postMessage({
|
||||
bid: room,
|
||||
direction: jsxc.Message.SYS,
|
||||
msg: $.t('muc_removed_info_banned', {
|
||||
nickname: nickname,
|
||||
escapeInterpolation: true
|
||||
})
|
||||
});
|
||||
}
|
||||
},
|
||||
/** Inform user that he or she has been kicked */
|
||||
@@ -965,14 +1009,22 @@ jsxc.muc = {
|
||||
|
||||
if (own[room] === nickname) {
|
||||
jsxc.muc.close(room);
|
||||
jsxc.gui.window.postMessage(room, 'sys', $.t('muc_removed_kicked'));
|
||||
jsxc.gui.window.postMessage({
|
||||
bid: room,
|
||||
direction: jsxc.Message.SYS,
|
||||
msg: $.t('muc_removed_kicked')
|
||||
});
|
||||
|
||||
jsxc.muc.postReason(room, xdata);
|
||||
} else {
|
||||
jsxc.gui.window.postMessage(room, 'sys', $.t('muc_removed_info_kicked', {
|
||||
nickname: nickname,
|
||||
escapeInterpolation: true
|
||||
}));
|
||||
jsxc.gui.window.postMessage({
|
||||
bid: room,
|
||||
direction: jsxc.Message.SYS,
|
||||
msg: $.t('muc_removed_info_kicked', {
|
||||
nickname: nickname,
|
||||
escapeInterpolation: true
|
||||
})
|
||||
});
|
||||
}
|
||||
},
|
||||
/** Inform user that he or she is beeing removed from the room because of an affiliation change */
|
||||
@@ -981,12 +1033,21 @@ jsxc.muc = {
|
||||
|
||||
if (own[room] === nickname) {
|
||||
jsxc.muc.close(room);
|
||||
jsxc.gui.window.postMessage(room, 'sys', $.t('muc_removed_affiliation'));
|
||||
|
||||
jsxc.gui.window.postMessage({
|
||||
bid: room,
|
||||
direction: jsxc.Message.SYS,
|
||||
msg: $.t('muc_removed_affiliation')
|
||||
});
|
||||
} else {
|
||||
jsxc.gui.window.postMessage(room, 'sys', $.t('muc_removed_info_affiliation', {
|
||||
nickname: nickname,
|
||||
escapeInterpolation: true
|
||||
}));
|
||||
jsxc.gui.window.postMessage({
|
||||
bid: room,
|
||||
direction: jsxc.Message.SYS,
|
||||
msg: $.t('muc_removed_info_affiliation', {
|
||||
nickname: nickname,
|
||||
escapeInterpolation: true
|
||||
})
|
||||
});
|
||||
}
|
||||
},
|
||||
/**
|
||||
@@ -998,12 +1059,20 @@ jsxc.muc = {
|
||||
|
||||
if (own[room] === nickname) {
|
||||
jsxc.muc.close(room);
|
||||
jsxc.gui.window.postMessage(room, 'sys', $.t('muc_removed_membersonly'));
|
||||
jsxc.gui.window.postMessage({
|
||||
bid: room,
|
||||
direction: jsxc.Message.SYS,
|
||||
msg: $.t('muc_removed_membersonly')
|
||||
});
|
||||
} else {
|
||||
jsxc.gui.window.postMessage(room, 'sys', $.t('muc_removed_info_membersonly', {
|
||||
nickname: nickname,
|
||||
escapeInterpolation: true
|
||||
}));
|
||||
jsxc.gui.window.postMessage({
|
||||
bid: room,
|
||||
direction: jsxc.Message.SYS,
|
||||
msg: $.t('muc_removed_info_membersonly', {
|
||||
nickname: nickname,
|
||||
escapeInterpolation: true
|
||||
})
|
||||
});
|
||||
}
|
||||
},
|
||||
/**
|
||||
@@ -1012,7 +1081,11 @@ jsxc.muc = {
|
||||
*/
|
||||
332: function(room) {
|
||||
jsxc.muc.close(room);
|
||||
jsxc.gui.window.postMessage(room, 'sys', $.t('muc_removed_shutdown'));
|
||||
jsxc.gui.window.postMessage({
|
||||
bid: room,
|
||||
direction: jsxc.Message.SYS,
|
||||
msg: $.t('muc_removed_shutdown')
|
||||
});
|
||||
}
|
||||
},
|
||||
|
||||
@@ -1034,9 +1107,18 @@ jsxc.muc = {
|
||||
reason = $.t('Reason') + ': ' + reason;
|
||||
|
||||
if (typeof actor.name === 'string' || typeof actor.jid === 'string') {
|
||||
jsxc.gui.window.postMessage(room, 'in', reason, false, false, null, actor);
|
||||
jsxc.gui.window.postMessage({
|
||||
bid: room,
|
||||
direction: jsxc.Message.IN,
|
||||
msg: reason,
|
||||
sender: actor
|
||||
});
|
||||
} else {
|
||||
jsxc.gui.window.postMessage(room, 'sys', reason);
|
||||
jsxc.gui.window.postMessage({
|
||||
bid: room,
|
||||
direction: jsxc.Message.SYS,
|
||||
msg: reason
|
||||
});
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -1156,7 +1238,7 @@ jsxc.muc = {
|
||||
onGroupchatMessage: function(message) {
|
||||
var id = $(message).attr('id');
|
||||
|
||||
if (jsxc.el_exists($('#' + id))) {
|
||||
if (id && jsxc.el_exists(jsxc.Message.getDOM(id))) {
|
||||
// ignore own incoming messages
|
||||
return true;
|
||||
}
|
||||
@@ -1180,7 +1262,15 @@ jsxc.muc = {
|
||||
sender.jid = member[nickname].jid;
|
||||
}
|
||||
|
||||
jsxc.gui.window.postMessage(room, 'in', body, false, false, stamp, sender);
|
||||
jsxc.gui.window.init(room);
|
||||
|
||||
jsxc.gui.window.postMessage({
|
||||
bid: room,
|
||||
direction: jsxc.Message.IN,
|
||||
msg: body,
|
||||
stamp: stamp,
|
||||
sender: sender
|
||||
});
|
||||
}
|
||||
|
||||
var subject = $(message).find('subject');
|
||||
@@ -1192,10 +1282,14 @@ jsxc.muc = {
|
||||
|
||||
jsxc.storage.setUserItem('buddy', room, roomdata);
|
||||
|
||||
jsxc.gui.window.postMessage(room, 'sys', $.t('changed_subject_to', {
|
||||
nickname: nickname,
|
||||
subject: subject.text()
|
||||
}));
|
||||
jsxc.gui.window.postMessage({
|
||||
bid: room,
|
||||
direction: jsxc.Message.SYS,
|
||||
msg: $.t('changed_subject_to', {
|
||||
nickname: nickname,
|
||||
subject: subject.text()
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
return true;
|
||||
@@ -1216,13 +1310,29 @@ jsxc.muc = {
|
||||
}
|
||||
|
||||
if ($(message).find('item-not-found').length > 0) {
|
||||
jsxc.gui.window.postMessage(room, 'sys', $.t('message_not_send_item-not-found'));
|
||||
jsxc.gui.window.postMessage({
|
||||
bid: room,
|
||||
direction: jsxc.Message.SYS,
|
||||
msg: $.t('message_not_send_item-not-found')
|
||||
});
|
||||
} else if ($(message).find('forbidden').length > 0) {
|
||||
jsxc.gui.window.postMessage(room, 'sys', $.t('message_not_send_forbidden'));
|
||||
jsxc.gui.window.postMessage({
|
||||
bid: room,
|
||||
direction: jsxc.Message.SYS,
|
||||
msg: $.t('message_not_send_forbidden')
|
||||
});
|
||||
} else if ($(message).find('not-acceptable').length > 0) {
|
||||
jsxc.gui.window.postMessage(room, 'sys', $.t('message_not_send_not-acceptable'));
|
||||
jsxc.gui.window.postMessage({
|
||||
bid: room,
|
||||
direction: jsxc.Message.SYS,
|
||||
msg: $.t('message_not_send_not-acceptable')
|
||||
});
|
||||
} else {
|
||||
jsxc.gui.window.postMessage(room, 'sys', $.t('message_not_send'));
|
||||
jsxc.gui.window.postMessage({
|
||||
bid: room,
|
||||
direction: jsxc.Message.SYS,
|
||||
msg: $.t('message_not_send')
|
||||
});
|
||||
}
|
||||
|
||||
jsxc.debug('[muc] error message for ' + room, $(message).find('error')[0]);
|
||||
@@ -1247,8 +1357,9 @@ jsxc.muc = {
|
||||
return;
|
||||
}
|
||||
|
||||
var bo = $('<div>');
|
||||
bo.text('+');
|
||||
var bo = $('<a>');
|
||||
$('<span>').addClass('jsxc_icon jsxc_bookmarkicon').appendTo(bo);
|
||||
$('<span>').text($.t('Bookmark')).appendTo(bo);
|
||||
bo.addClass('jsxc_bookmarkOptions');
|
||||
bo.click(function(ev) {
|
||||
ev.preventDefault();
|
||||
@@ -1258,7 +1369,7 @@ jsxc.muc = {
|
||||
return false;
|
||||
});
|
||||
|
||||
bud.find('.jsxc_rename').before(bo);
|
||||
bud.find('.jsxc_menu ul').append($('<li>').append(bo));
|
||||
|
||||
if (data.bookmarked) {
|
||||
bud.addClass('jsxc_bookmarked');
|
||||
|
||||
@@ -90,9 +90,24 @@ jsxc.options = {
|
||||
*/
|
||||
onAuthFail: 'submit',
|
||||
|
||||
/** True: Attach connection even is login form was found */
|
||||
/**
|
||||
* 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:
|
||||
* - 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.
|
||||
@@ -170,10 +185,10 @@ jsxc.options = {
|
||||
*
|
||||
* @memberOf jsxc.options
|
||||
* @param data Holds all data as key/value
|
||||
* @returns {boolean} false if function failes
|
||||
* @param cb Called with true on success, false otherwise
|
||||
*/
|
||||
saveSettinsPermanent: function() {
|
||||
|
||||
saveSettinsPermanent: function(data, cb) {
|
||||
cb(true);
|
||||
},
|
||||
|
||||
carbons: {
|
||||
|
||||
+27
-69
@@ -620,7 +620,14 @@ jsxc.webrtc = {
|
||||
var bid = jsxc.jidToBid(session.peerID);
|
||||
|
||||
if (this.localStream) {
|
||||
this.localStream.stop();
|
||||
if (typeof this.localStream.stop === 'function') {
|
||||
this.localStream.stop();
|
||||
} else {
|
||||
var tracks = this.localStream.getTracks();
|
||||
tracks.forEach(function(track) {
|
||||
track.stop();
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
if ($('.jsxc_videoContainer').length) {
|
||||
@@ -632,17 +639,10 @@ jsxc.webrtc = {
|
||||
this.localStream = null;
|
||||
this.remoteStream = null;
|
||||
|
||||
var win = $('#jsxc_webrtc .jsxc_chatarea > ul > li');
|
||||
$('#jsxc_windowList > ul').prepend(win.detach());
|
||||
win.find('.slimScrollDiv').resizable('enable');
|
||||
jsxc.gui.window.resize(win);
|
||||
jsxc.gui.closeVideoWindow();
|
||||
|
||||
$(document).off('cleanup.dialog.jsxc');
|
||||
$(document).off('error.jingle');
|
||||
|
||||
jsxc.gui.dialog.close();
|
||||
$('#jsxc_webrtc').remove();
|
||||
|
||||
jsxc.gui.window.postMessage({
|
||||
bid: bid,
|
||||
direction: jsxc.Message.SYS,
|
||||
@@ -741,8 +741,6 @@ jsxc.webrtc = {
|
||||
msg: $.t('ICE_connection_failure')
|
||||
});
|
||||
|
||||
$(document).off('cleanup.dialog.jsxc');
|
||||
|
||||
session.end('failed-transport');
|
||||
|
||||
$(document).trigger('callterminated.jingle');
|
||||
@@ -779,11 +777,10 @@ jsxc.webrtc = {
|
||||
});
|
||||
|
||||
$(document).one('error.jingle', function(e, sid, error) {
|
||||
if (error.source !== 'offer') {
|
||||
if (error && error.source !== 'offer') {
|
||||
return;
|
||||
}
|
||||
|
||||
$(document).off('cleanup.dialog.jsxc');
|
||||
setTimeout(function() {
|
||||
jsxc.gui.showAlert("Sorry, we couldn't establish a connection. Maybe your buddy is offline.");
|
||||
}, 500);
|
||||
@@ -807,9 +804,13 @@ jsxc.webrtc = {
|
||||
* @memberOf jsxc.webrtc
|
||||
*/
|
||||
hangUp: function(reason, text) {
|
||||
$(document).off('cleanup.dialog.jsxc');
|
||||
if (jsxc.webrtc.conn.jingle.manager && !$.isEmptyObject(jsxc.webrtc.conn.jingle.manager.peers)) {
|
||||
jsxc.webrtc.conn.jingle.terminate(null, reason, text);
|
||||
} else {
|
||||
jsxc.gui.closeVideoWindow();
|
||||
}
|
||||
|
||||
jsxc.webrtc.conn.jingle.terminate(null, reason, text);
|
||||
// @TODO check event
|
||||
$(document).trigger('callterminated.jingle');
|
||||
},
|
||||
|
||||
@@ -1072,20 +1073,6 @@ jsxc.gui.showVideoWindow = function(jid) {
|
||||
$('#jsxc_webrtc .jsxc_' + (self.remoteStream.getVideoTracks().length > 0 ? 'remotevideo' : 'noRemoteVideo')).addClass('jsxc_deviceAvailable');
|
||||
}
|
||||
|
||||
var toggleMulti = function(elem, open) {
|
||||
$('#jsxc_webrtc .jsxc_multi > div').not(elem).slideUp();
|
||||
|
||||
var opt = {
|
||||
complete: jsxc.gui.dialog.resize
|
||||
};
|
||||
|
||||
if (open) {
|
||||
elem.slideDown(opt);
|
||||
} else {
|
||||
elem.slideToggle(opt);
|
||||
}
|
||||
};
|
||||
|
||||
var win = jsxc.gui.window.open(jsxc.jidToBid(jid));
|
||||
|
||||
win.find('.slimScrollDiv').resizable('disable');
|
||||
@@ -1102,33 +1089,6 @@ jsxc.gui.showVideoWindow = function(jid) {
|
||||
jsxc.webrtc.hangUp('success');
|
||||
});
|
||||
|
||||
$('#jsxc_webrtc .jsxc_snapshot').click(function() {
|
||||
jsxc.webrtc.snapshot(rv);
|
||||
toggleMulti($('#jsxc_webrtc .jsxc_snapshotbar'), true);
|
||||
});
|
||||
|
||||
$('#jsxc_webrtc .jsxc_snapshots').click(function() {
|
||||
toggleMulti($('#jsxc_webrtc .jsxc_snapshotbar'));
|
||||
});
|
||||
|
||||
$('#jsxc_webrtc .jsxc_showchat').click(function() {
|
||||
var chatarea = $('#jsxc_webrtc .jsxc_chatarea');
|
||||
|
||||
if (chatarea.is(':hidden')) {
|
||||
chatarea.show();
|
||||
$('#jsxc_webrtc .jsxc_webrtc').width('900');
|
||||
jsxc.gui.dialog.resize({
|
||||
width: '920px'
|
||||
});
|
||||
} else {
|
||||
chatarea.hide();
|
||||
$('#jsxc_webrtc .jsxc_webrtc').width('650');
|
||||
jsxc.gui.dialog.resize({
|
||||
width: '660px'
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
$('#jsxc_webrtc .jsxc_fullscreen').click(function() {
|
||||
|
||||
if ($.support.fullscreen) {
|
||||
@@ -1141,24 +1101,22 @@ jsxc.gui.showVideoWindow = function(jid) {
|
||||
}
|
||||
});
|
||||
|
||||
$('#jsxc_webrtc .jsxc_volume').change(function() {
|
||||
rv[0].volume = $(this).val();
|
||||
$('#jsxc_webrtc .jsxc_videoContainer').click(function() {
|
||||
$('#jsxc_webrtc .jsxc_controlbar').toggleClass('jsxc_visible');
|
||||
});
|
||||
|
||||
$('#jsxc_webrtc .jsxc_volume').dblclick(function() {
|
||||
$(this).val(0.5);
|
||||
});
|
||||
|
||||
$('#jsxc_webrtc .jsxc_videoContainer').toggle(function() {
|
||||
$('#jsxc_webrtc .jsxc_controlbar').css('opacity', '1.0');
|
||||
}, function() {
|
||||
$('#jsxc_webrtc .jsxc_controlbar').css('opacity', '');
|
||||
});
|
||||
|
||||
|
||||
return $('#jsxc_webrtc');
|
||||
};
|
||||
|
||||
jsxc.gui.closeVideoWindow = function() {
|
||||
var win = $('#jsxc_webrtc .jsxc_chatarea > ul > li');
|
||||
$('#jsxc_windowList > ul').prepend(win.detach());
|
||||
win.find('.slimScrollDiv').resizable('enable');
|
||||
jsxc.gui.window.resize(win);
|
||||
|
||||
$('#jsxc_webrtc').remove();
|
||||
};
|
||||
|
||||
$.extend(jsxc.CONST, {
|
||||
KEYCODE_ENTER: 13,
|
||||
KEYCODE_ESC: 27
|
||||
|
||||
@@ -184,6 +184,7 @@ jsxc.xmpp = {
|
||||
// clean up
|
||||
jsxc.storage.removeUserItem('buddylist');
|
||||
jsxc.storage.removeUserItem('windowlist');
|
||||
jsxc.storage.removeUserItem('unreadMsg');
|
||||
|
||||
if (!jsxc.master) {
|
||||
$('#jsxc_roster').remove();
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
Real-time chat app for {{app_name}} and more.
|
||||
<br /> Requires an external <a href="https://xmpp.org/xmpp-software/servers/" target="_blank">XMPP server</a>.
|
||||
</p>
|
||||
<p>
|
||||
<p class="jsxc_credits">
|
||||
<b>Credits: </b> <a href="http://www.beepzoid.com/old-phones/" target="_blank">David English (Ringtone)</a>,
|
||||
<a href="https://soundcloud.com/freefilmandgamemusic/ping-1?in=freefilmandgamemusic/sets/free-notification-sounds-and" target="_blank">CameronMusic (Ping)</a>,
|
||||
<a href="http://www.picol.org/">Picol (Fullscreen icon)</a>, <a href="http://www.jabber.org/">Jabber Software Foundation (Jabber lightbulb logo)</a>
|
||||
|
||||
@@ -37,7 +37,10 @@
|
||||
</div>
|
||||
<div class="jsxc_fade">
|
||||
<div class="jsxc_overlay">
|
||||
<div />
|
||||
<div>
|
||||
<div class="jsxc_body" />
|
||||
<div class="jsxc_close" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="jsxc_textarea" />
|
||||
<div class="jsxc_emoticons">
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
<div></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="jsxc_controlbar">
|
||||
<div class="jsxc_controlbar jsxc_visible">
|
||||
<div>
|
||||
<div class="jsxc_hangUp jsxc_videoControl" />
|
||||
<div class="jsxc_fullscreen jsxc_videoControl" />
|
||||
|
||||
Referência em uma Nova Issue
Bloquear um usuário