Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
C
converse.js
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
nexedi
converse.js
Commits
1441f4ab
Commit
1441f4ab
authored
Aug 07, 2014
by
JC Brand
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Add text input to act as live filter. updates #212
parent
1be8a386
Changes
18
Hide whitespace changes
Inline
Side-by-side
Showing
18 changed files
with
250 additions
and
163 deletions
+250
-163
converse.js
converse.js
+11
-7
css/converse.css
css/converse.css
+9
-9
docs/CHANGES.rst
docs/CHANGES.rst
+8
-2
less/converse.less
less/converse.less
+9
-9
main.js
main.js
+2
-0
mockup/controlbox.html
mockup/controlbox.html
+131
-128
src/build-no-locales-no-otr.js
src/build-no-locales-no-otr.js
+1
-0
src/build-no-otr.js
src/build-no-otr.js
+1
-0
src/build-website-no-otr.js
src/build-website-no-otr.js
+1
-0
src/build-website.js
src/build-website.js
+1
-0
src/build.js
src/build.js
+1
-0
src/deps-full.js
src/deps-full.js
+1
-0
src/deps-no-otr.js
src/deps-no-otr.js
+1
-0
src/deps-website-no-otr.js
src/deps-website-no-otr.js
+1
-0
src/deps-website.js
src/deps-website.js
+3
-2
src/jquery.fastLiveFilter.js
src/jquery.fastLiveFilter.js
+59
-0
src/templates.js
src/templates.js
+8
-6
src/templates/roster.html
src/templates/roster.html
+2
-0
No files found.
converse.js
View file @
1441f4ab
...
@@ -3240,7 +3240,8 @@
...
@@ -3240,7 +3240,8 @@
initialize
:
function
()
{
initialize
:
function
()
{
this
.
model
.
contacts
.
on
(
"
add
"
,
this
.
addContact
,
this
);
this
.
model
.
contacts
.
on
(
"
add
"
,
this
.
addContact
,
this
);
this
.
model
.
contacts
.
on
(
"
change:chat_status
"
,
function
(
contact
)
{
this
.
model
.
contacts
.
on
(
"
change:chat_status
"
,
function
(
contact
)
{
// This might be optimized by instead of first sorting, finding the correct position in positionContact
// This might be optimized by instead of first sorting,
// finding the correct position in positionContact
this
.
model
.
contacts
.
sort
();
this
.
model
.
contacts
.
sort
();
this
.
positionContact
(
contact
).
render
();
this
.
positionContact
(
contact
).
render
();
},
this
);
},
this
);
...
@@ -3293,7 +3294,7 @@
...
@@ -3293,7 +3294,7 @@
addContact
:
function
(
contact
)
{
addContact
:
function
(
contact
)
{
var
view
=
new
converse
.
RosterContactView
({
model
:
contact
});
var
view
=
new
converse
.
RosterContactView
({
model
:
contact
});
this
.
add
(
contact
.
get
(
'
id
'
),
view
);
this
.
add
(
contact
.
get
(
'
id
'
),
view
);
v
ar
v
iew
=
this
.
positionContact
(
contact
).
render
();
view
=
this
.
positionContact
(
contact
).
render
();
if
(
this
.
model
.
get
(
'
state
'
)
===
CLOSED
)
{
if
(
this
.
model
.
get
(
'
state
'
)
===
CLOSED
)
{
view
.
$el
.
hide
();
view
.
$el
.
hide
();
}
}
...
@@ -3347,7 +3348,7 @@
...
@@ -3347,7 +3348,7 @@
});
});
this
.
RosterView
=
Backbone
.
Overview
.
extend
({
this
.
RosterView
=
Backbone
.
Overview
.
extend
({
tagName
:
'
d
l
'
,
tagName
:
'
d
iv
'
,
id
:
'
converse-roster
'
,
id
:
'
converse-roster
'
,
initialize
:
function
()
{
initialize
:
function
()
{
...
@@ -3369,7 +3370,10 @@
...
@@ -3369,7 +3370,10 @@
},
},
render
:
function
()
{
render
:
function
()
{
this
.
$el
.
empty
();
this
.
$el
.
html
(
converse
.
templates
.
roster
({
placeholder
:
__
(
'
Type to filter contacts
'
)
}));
this
.
$
(
'
.roster-filter
'
).
liveFilter
(
'
.roster-contacts
'
,
{
hide
:
'
dt
'
});
return
this
;
return
this
;
},
},
...
@@ -3457,13 +3461,13 @@
...
@@ -3457,13 +3461,13 @@
*/
*/
model
.
sort
();
model
.
sort
();
model
.
each
(
$
.
proxy
(
function
(
group
,
idx
)
{
model
.
each
(
$
.
proxy
(
function
(
group
,
idx
)
{
var
view
=
this
.
get
(
group
.
get
(
'
name
'
))
var
view
=
this
.
get
(
group
.
get
(
'
name
'
))
;
if
(
!
view
)
{
if
(
!
view
)
{
view
=
new
converse
.
RosterGroupView
({
model
:
group
});
view
=
new
converse
.
RosterGroupView
({
model
:
group
});
this
.
add
(
group
.
get
(
'
name
'
),
view
.
render
());
this
.
add
(
group
.
get
(
'
name
'
),
view
.
render
());
}
}
if
(
idx
===
0
)
{
if
(
idx
===
0
)
{
this
.
$
el
.
append
(
view
.
$el
);
this
.
$
(
'
.roster-contacts
'
)
.
append
(
view
.
$el
);
}
else
{
}
else
{
this
.
appendGroup
(
view
);
this
.
appendGroup
(
view
);
}
}
...
@@ -3476,7 +3480,7 @@
...
@@ -3476,7 +3480,7 @@
*/
*/
var
index
=
this
.
model
.
indexOf
(
view
.
model
);
var
index
=
this
.
model
.
indexOf
(
view
.
model
);
if
(
index
===
0
)
{
if
(
index
===
0
)
{
this
.
$
el
.
prepend
(
view
.
$el
);
this
.
$
(
'
.roster-contacts
'
)
.
prepend
(
view
.
$el
);
}
else
if
(
index
==
(
this
.
model
.
length
-
1
))
{
}
else
if
(
index
==
(
this
.
model
.
length
-
1
))
{
this
.
appendGroup
(
view
);
this
.
appendGroup
(
view
);
}
else
{
}
else
{
...
...
css/converse.css
View file @
1441f4ab
...
@@ -872,11 +872,11 @@ dl.add-converse-contact {
...
@@ -872,11 +872,11 @@ dl.add-converse-contact {
white-space
:
nowrap
;
white-space
:
nowrap
;
text-overflow
:
ellipsis
;
text-overflow
:
ellipsis
;
}
}
#converse
js
#converse
-roster
span
.req-contact-name
{
#converse-roster
span
.req-contact-name
{
width
:
65%
;
width
:
65%
;
}
}
#converse
js
#converse
-roster
span
.pending-contact-name
,
#converse-roster
span
.pending-contact-name
,
#converse
js
#converse
-roster
a
.open-chat
{
#converse-roster
a
.open-chat
{
width
:
80%
;
width
:
80%
;
}
}
#converse-roster
dd
span
{
#converse-roster
dd
span
{
...
@@ -952,7 +952,7 @@ dl.add-converse-contact {
...
@@ -952,7 +952,7 @@ dl.add-converse-contact {
font-size
:
15px
;
font-size
:
15px
;
}
}
#conversejs
dd
.available-chatroom
,
#conversejs
dd
.available-chatroom
,
#converse
js
#converse
-roster
dd
{
#converse-roster
dd
{
font-weight
:
bold
;
font-weight
:
bold
;
border
:
none
;
border
:
none
;
display
:
block
;
display
:
block
;
...
@@ -961,7 +961,7 @@ dl.add-converse-contact {
...
@@ -961,7 +961,7 @@ dl.add-converse-contact {
text-shadow
:
0
1px
0
#fafafa
;
text-shadow
:
0
1px
0
#fafafa
;
clear
:
both
;
clear
:
both
;
}
}
#converse
js
#converse
-roster
dd
{
#converse-roster
dd
{
line-height
:
16px
;
line-height
:
16px
;
}
}
#conversejs
.group-toggle
{
#conversejs
.group-toggle
{
...
@@ -970,20 +970,20 @@ dl.add-converse-contact {
...
@@ -970,20 +970,20 @@ dl.add-converse-contact {
}
}
#conversejs
.roster-group
:hover
,
#conversejs
.roster-group
:hover
,
#conversejs
dd
.available-chatroom
:hover
,
#conversejs
dd
.available-chatroom
:hover
,
#converse
js
#converse
-roster
dd
:hover
{
#converse-roster
dd
:hover
{
background-color
:
#eee
;
background-color
:
#eee
;
}
}
#converse
js
#converse
-roster
dd
a
.decline-xmpp-request
{
#converse-roster
dd
a
.decline-xmpp-request
{
margin-left
:
5px
;
margin-left
:
5px
;
}
}
#converse
js
#converse
-roster
dd
a
.remove-xmpp-contact
{
#converse-roster
dd
a
.remove-xmpp-contact
{
float
:
right
;
float
:
right
;
width
:
22px
;
width
:
22px
;
margin
:
0
;
margin
:
0
;
display
:
none
;
display
:
none
;
color
:
#4f4f4f
;
color
:
#4f4f4f
;
}
}
#converse
js
#converse
-roster
dd
:hover
a
.remove-xmpp-contact
{
#converse-roster
dd
:hover
a
.remove-xmpp-contact
{
display
:
inline-block
;
display
:
inline-block
;
}
}
#conversejs
.chatbox
,
#conversejs
.chatbox
,
...
...
docs/CHANGES.rst
View file @
1441f4ab
Changelog
Changelog
=========
=========
0.8 (2014-08-04)
0.8.1 (Unreleased)
----------------
------------------
* #212 Provide a live filter of the roster contacts. [jcbrand]
0.8.0 (2014-08-04)
------------------
.. note::
.. note::
1. Converse.js is now relicensed under the `Mozilla Public License <http://www.mozilla.org/MPL/2.0/>`_.
1. Converse.js is now relicensed under the `Mozilla Public License <http://www.mozilla.org/MPL/2.0/>`_.
...
...
less/converse.less
View file @
1441f4ab
...
@@ -967,12 +967,12 @@ dl.add-converse-contact {
...
@@ -967,12 +967,12 @@ dl.add-converse-contact {
text-overflow: ellipsis;
text-overflow: ellipsis;
}
}
#converse
js #converse
-roster span.req-contact-name {
#converse-roster span.req-contact-name {
width: 65%;
width: 65%;
}
}
#converse
js #converse
-roster span.pending-contact-name,
#converse-roster span.pending-contact-name,
#converse
js #converse
-roster a.open-chat {
#converse-roster a.open-chat {
width: 80%;
width: 80%;
}
}
...
@@ -1063,7 +1063,7 @@ dl.add-converse-contact {
...
@@ -1063,7 +1063,7 @@ dl.add-converse-contact {
}
}
#conversejs dd.available-chatroom,
#conversejs dd.available-chatroom,
#converse
js #converse
-roster dd {
#converse-roster dd {
font-weight: bold;
font-weight: bold;
border: none;
border: none;
display: block;
display: block;
...
@@ -1073,7 +1073,7 @@ dl.add-converse-contact {
...
@@ -1073,7 +1073,7 @@ dl.add-converse-contact {
clear: both;
clear: both;
}
}
#converse
js #converse
-roster dd {
#converse-roster dd {
line-height: 16px;
line-height: 16px;
}
}
...
@@ -1084,15 +1084,15 @@ dl.add-converse-contact {
...
@@ -1084,15 +1084,15 @@ dl.add-converse-contact {
#conversejs .roster-group:hover,
#conversejs .roster-group:hover,
#conversejs dd.available-chatroom:hover,
#conversejs dd.available-chatroom:hover,
#converse
js #converse
-roster dd:hover {
#converse-roster dd:hover {
background-color: #eee;
background-color: #eee;
}
}
#converse
js #converse
-roster dd a.decline-xmpp-request {
#converse-roster dd a.decline-xmpp-request {
margin-left: 5px;
margin-left: 5px;
}
}
#converse
js #converse
-roster dd a.remove-xmpp-contact {
#converse-roster dd a.remove-xmpp-contact {
float: right;
float: right;
width: 22px;
width: 22px;
margin: 0;
margin: 0;
...
@@ -1100,7 +1100,7 @@ dl.add-converse-contact {
...
@@ -1100,7 +1100,7 @@ dl.add-converse-contact {
color: rgb(79, 79, 79);
color: rgb(79, 79, 79);
}
}
#converse
js #converse
-roster dd:hover a.remove-xmpp-contact {
#converse-roster dd:hover a.remove-xmpp-contact {
display: inline-block;
display: inline-block;
}
}
...
...
main.js
View file @
1441f4ab
...
@@ -4,6 +4,7 @@ config = {
...
@@ -4,6 +4,7 @@ config = {
"
jquery
"
:
"
components/jquery/dist/jquery
"
,
"
jquery
"
:
"
components/jquery/dist/jquery
"
,
"
jquery.browser
"
:
"
components/jquery.browser/dist/jquery.browser
"
,
"
jquery.browser
"
:
"
components/jquery.browser/dist/jquery.browser
"
,
"
jquery.easing
"
:
"
components/jquery-easing-original/jquery.easing.1.3
"
,
// XXX: Only required for https://conversejs.org website
"
jquery.easing
"
:
"
components/jquery-easing-original/jquery.easing.1.3
"
,
// XXX: Only required for https://conversejs.org website
"
jquery.fastLiveFilter
"
:
"
src/jquery.fastLiveFilter
"
,
"
bootstrap
"
:
"
components/bootstrap/dist/js/bootstrap
"
,
// XXX: Only required for https://conversejs.org website
"
bootstrap
"
:
"
components/bootstrap/dist/js/bootstrap
"
,
// XXX: Only required for https://conversejs.org website
"
locales
"
:
"
locale/locales
"
,
"
locales
"
:
"
locale/locales
"
,
"
underscore
"
:
"
components/underscore/underscore
"
,
"
underscore
"
:
"
components/underscore/underscore
"
,
...
@@ -74,6 +75,7 @@ config = {
...
@@ -74,6 +75,7 @@ config = {
'
bigint
'
:
{
deps
:
[
'
crypto
'
]
},
'
bigint
'
:
{
deps
:
[
'
crypto
'
]
},
'
jquery.browser
'
:
{
deps
:
[
'
jquery
'
]
},
'
jquery.browser
'
:
{
deps
:
[
'
jquery
'
]
},
'
jquery.easing
'
:
{
deps
:
[
'
jquery
'
]
},
'
jquery.easing
'
:
{
deps
:
[
'
jquery
'
]
},
'
jquery.fastLiveFilter
'
:{
deps
:
[
'
jquery
'
]
},
'
strophe
'
:
{
deps
:
[
'
jquery
'
]
},
'
strophe
'
:
{
deps
:
[
'
jquery
'
]
},
'
strophe.disco
'
:
{
deps
:
[
'
strophe
'
]
},
'
strophe.disco
'
:
{
deps
:
[
'
strophe
'
]
},
'
strophe.muc
'
:
{
deps
:
[
'
strophe
'
,
'
jquery
'
]
},
'
strophe.muc
'
:
{
deps
:
[
'
strophe
'
,
'
jquery
'
]
},
...
...
mockup/controlbox.html
View file @
1441f4ab
...
@@ -114,139 +114,142 @@
...
@@ -114,139 +114,142 @@
</ul>
</ul>
</dd>
</dd>
</dl>
</dl>
<dl
id=
"converse-roster"
style=
"display: block;"
>
<div
id=
"converse-roster"
>
<dt
class=
"roster-group"
style=
"display: block;"
>
<input
id=
"search_input"
placeholder=
"Type to filter"
>
<a
href=
"#"
data-group=
"Colleagues"
class=
"group-toggle icon-opened"
title=
"Click to hide these contacts"
>
Colleagues
</a>
<dl
class=
"roster-contacts"
style=
"display: block;"
>
</dt>
<dt
class=
"roster-group"
style=
"display: block;"
>
<dd
class=
"online current-xmpp-contact"
>
<a
href=
"#"
data-group=
"Colleagues"
class=
"group-toggle icon-opened"
title=
"Click to hide these contacts"
>
Colleagues
</a>
<a
class=
"open-chat"
title=
"Click to chat with this contact"
href=
"#"
>
</dt>
<span
class=
"icon-online"
title=
"This contact is online"
></span>
<dd
class=
"online current-xmpp-contact"
>
Victor Matfield
<a
class=
"open-chat"
title=
"Click to chat with this contact"
href=
"#"
>
</a>
<span
class=
"icon-online"
title=
"This contact is online"
></span>
<a
class=
"remove-xmpp-contact icon-remove"
title=
"Click to remove this contact"
href=
"#"
></a>
Victor Matfield
</dd>
</a>
<dd
class=
"away current-xmpp-contact"
>
<a
class=
"remove-xmpp-contact icon-remove"
title=
"Click to remove this contact"
href=
"#"
></a>
<a
class=
"open-chat"
title=
"Click to chat with this contact"
href=
"#"
>
</dd>
<span
class=
"icon-away"
title=
"this contact is away"
></span>
<dd
class=
"away current-xmpp-contact"
>
William Winterbottom
<a
class=
"open-chat"
title=
"Click to chat with this contact"
href=
"#"
>
</a>
<span
class=
"icon-away"
title=
"this contact is away"
></span>
<a
class=
"remove-xmpp-contact icon-remove"
title=
"Click to remove this contact"
href=
"#"
></a>
William Winterbottom
</dd>
</a>
<dd
class=
"dnd current-xmpp-contact"
>
<a
class=
"remove-xmpp-contact icon-remove"
title=
"Click to remove this contact"
href=
"#"
></a>
<a
class=
"open-chat"
title=
"Click to chat with this contact"
href=
"#"
>
</dd>
<span
class=
"icon-dnd"
title=
"This contact is busy"
></span>
<dd
class=
"dnd current-xmpp-contact"
>
Gary Teichmann
<a
class=
"open-chat"
title=
"Click to chat with this contact"
href=
"#"
>
</a>
<span
class=
"icon-dnd"
title=
"This contact is busy"
></span>
<a
class=
"remove-xmpp-contact icon-remove"
title=
"Click to remove this contact"
href=
"#"
></a>
Gary Teichmann
</dd>
</a>
<a
class=
"remove-xmpp-contact icon-remove"
title=
"Click to remove this contact"
href=
"#"
></a>
</dd>
<dt
class=
"roster-group"
style=
"display: block;"
>
<dt
class=
"roster-group"
style=
"display: block;"
>
<a
href=
"#"
data-group=
"Family"
class=
"group-toggle icon-opened"
title=
"Click to hide these contacts"
>
Family
</a>
<a
href=
"#"
data-group=
"Family"
class=
"group-toggle icon-opened"
title=
"Click to hide these contacts"
>
Family
</a>
</dt>
</dt>
<dd
class=
"away current-xmpp-contact"
>
<dd
class=
"away current-xmpp-contact"
>
<a
class=
"open-chat"
title=
"Click to chat with this contact"
href=
"#"
>
<a
class=
"open-chat"
title=
"Click to chat with this contact"
href=
"#"
>
<span
class=
"icon-away"
title=
"this contact is away"
></span>
<span
class=
"icon-away"
title=
"this contact is away"
></span>
Allan Donald
Allan Donald
</a>
</a>
<a
class=
"remove-xmpp-contact icon-remove"
title=
"Click to remove this contact"
href=
"#"
></a>
<a
class=
"remove-xmpp-contact icon-remove"
title=
"Click to remove this contact"
href=
"#"
></a>
</dd>
</dd>
<dd
class=
"offline current-xmpp-contact"
>
<dd
class=
"offline current-xmpp-contact"
>
<a
class=
"open-chat"
title=
"Click to chat with this contact"
href=
"#"
>
<a
class=
"open-chat"
title=
"Click to chat with this contact"
href=
"#"
>
<span
class=
"icon-offline"
title=
"This contact is offline"
></span>
<span
class=
"icon-offline"
title=
"This contact is offline"
></span>
Corné Krige
Corné Krige
</a>
</a>
<a
class=
"remove-xmpp-contact icon-remove"
title=
"Click to remove this contact"
href=
"#"
></a>
<a
class=
"remove-xmpp-contact icon-remove"
title=
"Click to remove this contact"
href=
"#"
></a>
</dd>
</dd>
<dt
class=
"roster-group"
style=
"display: block;"
>
<dt
class=
"roster-group"
style=
"display: block;"
>
<a
href=
"#"
data-group=
"Friends"
class=
"group-toggle icon-opened"
title=
"Click to hide these contacts"
>
Friends
</a>
<a
href=
"#"
data-group=
"Friends"
class=
"group-toggle icon-opened"
title=
"Click to hide these contacts"
>
Friends
</a>
</dt>
</dt>
<dd
class=
"online current-xmpp-contact"
>
<dd
class=
"online current-xmpp-contact"
>
<a
class=
"open-chat"
title=
"Click to chat with this contact"
href=
"#"
>
<a
class=
"open-chat"
title=
"Click to chat with this contact"
href=
"#"
>
<span
class=
"icon-online"
title=
"This contact is online"
></span>
<span
class=
"icon-online"
title=
"This contact is online"
></span>
John Smit
John Smit
</a>
</a>
<a
class=
"remove-xmpp-contact icon-remove"
title=
"Click to remove this contact"
href=
"#"
></a>
<a
class=
"remove-xmpp-contact icon-remove"
title=
"Click to remove this contact"
href=
"#"
></a>
</dd>
</dd>
<dd
class=
"online current-xmpp-contact"
>
<dd
class=
"online current-xmpp-contact"
>
<a
class=
"open-chat"
title=
"Click to chat with this contact"
href=
"#"
>
<a
class=
"open-chat"
title=
"Click to chat with this contact"
href=
"#"
>
<span
class=
"icon-online"
title=
"This contact is online"
></span>
<span
class=
"icon-online"
title=
"This contact is online"
></span>
Bakkies Botha
Bakkies Botha
</a>
</a>
<a
class=
"remove-xmpp-contact icon-remove"
title=
"Click to remove this contact"
href=
"#"
></a>
<a
class=
"remove-xmpp-contact icon-remove"
title=
"Click to remove this contact"
href=
"#"
></a>
</dd>
</dd>
<dt
class=
"roster-group"
style=
"display: block;"
>
<dt
class=
"roster-group"
style=
"display: block;"
>
<a
href=
"#"
class=
"group-toggle icon-opened"
title=
"Click to hide these contacts"
>
Ungrouped
</a>
<a
href=
"#"
class=
"group-toggle icon-opened"
title=
"Click to hide these contacts"
>
Ungrouped
</a>
</dt>
</dt>
<dd
class=
"online current-xmpp-contact"
>
<dd
class=
"online current-xmpp-contact"
>
<a
class=
"open-chat"
title=
"Click to chat with this contact"
href=
"#"
>
<a
class=
"open-chat"
title=
"Click to chat with this contact"
href=
"#"
>
<span
class=
"icon-online"
title=
"This contact is online"
></span>
<span
class=
"icon-online"
title=
"This contact is online"
></span>
James Small
James Small
</a>
</a>
<a
class=
"remove-xmpp-contact icon-remove"
title=
"Click to remove this contact"
href=
"#"
></a>
<a
class=
"remove-xmpp-contact icon-remove"
title=
"Click to remove this contact"
href=
"#"
></a>
</dd>
</dd>
<dt
id=
"xmpp-contact-requests"
style=
"display: block;"
>
<dt
id=
"xmpp-contact-requests"
style=
"display: block;"
>
<a
href=
"#"
class=
"group-toggle icon-opened"
title=
"Click to hide these contacts"
>
Contact Requests
</a>
<a
href=
"#"
class=
"group-toggle icon-opened"
title=
"Click to hide these contacts"
>
Contact Requests
</a>
</dt>
</dt>
<dd
class=
"offline requesting-xmpp-contact"
>
<dd
class=
"offline requesting-xmpp-contact"
>
<span
class=
"req-contact-name"
>
Bob Skinstad
</span>
<span
class=
"req-contact-name"
>
Bob Skinstad
</span>
<span
class=
"request-actions"
>
<span
class=
"request-actions"
>
<a
class=
"accept-xmpp-request icon-checkmark"
title=
"Click here to accept this contact's request"
href=
"#"
></a>
<a
class=
"accept-xmpp-request icon-checkmark"
title=
"Click here to accept this contact's request"
href=
"#"
></a>
<a
class=
"decline-xmpp-request icon-close"
title=
"Click here to decline this contact's request"
href=
"#"
></a>
<a
class=
"decline-xmpp-request icon-close"
title=
"Click here to decline this contact's request"
href=
"#"
></a>
</span>
</span>
</dd>
</dd>
<dd
class=
"offline requesting-xmpp-contact"
>
<dd
class=
"offline requesting-xmpp-contact"
>
<span
class=
"req-contact-name"
>
André Vos
</span>
<span
class=
"req-contact-name"
>
André Vos
</span>
<span
class=
"request-actions"
>
<span
class=
"request-actions"
>
<a
class=
"accept-xmpp-request icon-checkmark"
title=
"Click here to accept this contact's request"
href=
"#"
></a>
<a
class=
"accept-xmpp-request icon-checkmark"
title=
"Click here to accept this contact's request"
href=
"#"
></a>
<a
class=
"decline-xmpp-request icon-close"
title=
"Click here to decline this contact's request"
href=
"#"
></a>
<a
class=
"decline-xmpp-request icon-close"
title=
"Click here to decline this contact's request"
href=
"#"
></a>
</span>
</span>
</dd>
</dd>
<dt
id=
"pending-xmpp-contacts"
style=
"display: block;"
>
<dt
id=
"pending-xmpp-contacts"
style=
"display: block;"
>
<a
href=
"#"
class=
"group-toggle icon-opened"
title=
"Click to hide these contacts"
>
Pending Contacts
</a>
<a
href=
"#"
class=
"group-toggle icon-opened"
title=
"Click to hide these contacts"
>
Pending Contacts
</a>
</dt>
</dt>
<dd
class=
"offline pending-xmpp-contact"
><span
class=
"pending-contact-name"
>
Rassie Erasmus
</span>
<dd
class=
"offline pending-xmpp-contact"
><span
class=
"pending-contact-name"
>
Rassie Erasmus
</span>
<a
class=
"remove-xmpp-contact icon-remove"
title=
"Click to remove this contact"
href=
"#"
></a>
<a
class=
"remove-xmpp-contact icon-remove"
title=
"Click to remove this contact"
href=
"#"
></a>
</dd>
</dd>
<dd
class=
"offline pending-xmpp-contact"
><span
class=
"pending-contact-name"
>
Victor Matfield
</span>
<dd
class=
"offline pending-xmpp-contact"
><span
class=
"pending-contact-name"
>
Victor Matfield
</span>
<a
class=
"remove-xmpp-contact icon-remove"
title=
"Click to remove this contact"
href=
"#"
></a>
<a
class=
"remove-xmpp-contact icon-remove"
title=
"Click to remove this contact"
href=
"#"
></a>
</dd>
</dd>
</dl>
</dl>
</div>
</div>
<div
id=
"chatrooms"
style=
"display: none;"
>
<div
id=
"chatrooms"
style=
"display: none;"
>
<form
class=
"add-chatroom"
action=
""
method=
"post"
>
<form
class=
"add-chatroom"
action=
""
method=
"post"
>
<input
type=
"text"
name=
"chatroom"
class=
"new-chatroom-name"
placeholder=
"Room name"
>
<input
type=
"text"
name=
"chatroom"
class=
"new-chatroom-name"
placeholder=
"Room name"
>
<input
type=
"text"
name=
"nick"
class=
"new-chatroom-nick"
placeholder=
"Nickname"
>
<input
type=
"text"
name=
"nick"
class=
"new-chatroom-nick"
placeholder=
"Nickname"
>
<input
type=
"text"
name=
"server"
class=
"new-chatroom-server"
placeholder=
"Server"
>
<input
type=
"text"
name=
"server"
class=
"new-chatroom-server"
placeholder=
"Server"
>
<input
type=
"submit"
name=
"join"
value=
"Join"
>
<input
type=
"submit"
name=
"join"
value=
"Join"
>
<input
type=
"button"
name=
"show"
id=
"show-rooms"
value=
"Show rooms"
style=
"display: inline-block;"
>
<input
type=
"button"
name=
"show"
id=
"show-rooms"
value=
"Show rooms"
style=
"display: inline-block;"
>
</form>
</form>
<dl
id=
"available-chatrooms"
>
<dl
id=
"available-chatrooms"
>
<dt>
Rooms on conference.opkode.im
</dt>
<dt>
Rooms on conference.opkode.im
</dt>
<dd
class=
"available-chatroom"
>
<dd
class=
"available-chatroom"
>
<a
class=
"open-room"
<a
class=
"open-room"
data-room-jid=
"converse.js@conference.opkode.im"
data-room-jid=
"converse.js@conference.opkode.im"
title=
"Click to open this room"
href=
"#"
>
Special chatroom with a long name (2)
</a>
title=
"Click to open this room"
href=
"#"
>
Special chatroom with a long name (2)
</a>
<a
class=
"room-info icon-room-info"
<a
class=
"room-info icon-room-info"
data-room-jid=
"converse.js@conference.opkode.im"
data-room-jid=
"converse.js@conference.opkode.im"
title=
"Show more information on this room"
href=
"#"
>
</a>
title=
"Show more information on this room"
href=
"#"
>
</a>
<div
class=
"room-info"
>
<div
class=
"room-info"
>
<p
class=
"room-info"
><strong>
Description:
</strong></p>
<p
class=
"room-info"
><strong>
Description:
</strong></p>
<p
class=
"room-info"
><strong>
Occupants:
</strong>
2
</p>
<p
class=
"room-info"
><strong>
Occupants:
</strong>
2
</p>
<p
class=
"room-info"
><strong>
Features:
</strong>
</p>
<p
class=
"room-info"
><strong>
Features:
</strong>
</p>
<ul>
<ul>
<li
class=
"room-info"
>
Moderated
</li><li
class=
"room-info"
>
Open room
</li>
<li
class=
"room-info"
>
Moderated
</li><li
class=
"room-info"
>
Open room
</li>
<li
class=
"room-info"
>
Permanent room
</li><li
class=
"room-info"
>
Public
</li>
<li
class=
"room-info"
>
Permanent room
</li><li
class=
"room-info"
>
Public
</li>
<li
class=
"room-info"
>
Semi-anonymous
</li>
<li
class=
"room-info"
>
Semi-anonymous
</li>
<li
class=
"room-info"
>
Requires authentication
<span
class=
"icon-lock"
></span></li>
<li
class=
"room-info"
>
Requires authentication
<span
class=
"icon-lock"
></span></li>
<p></p>
<p></p>
</ul>
</ul>
</div>
</div>
</dd>
</dd>
</dl>
</dl>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
...
...
src/build-no-locales-no-otr.js
View file @
1441f4ab
...
@@ -25,6 +25,7 @@
...
@@ -25,6 +25,7 @@
"
strophe.disco
"
:
"
components/strophe.disco/index
"
,
"
strophe.disco
"
:
"
components/strophe.disco/index
"
,
"
converse-dependencies
"
:
"
src/deps-no-otr
"
,
"
converse-dependencies
"
:
"
src/deps-no-otr
"
,
"
jquery.browser
"
:
"
components/jquery.browser/dist/jquery.browser
"
,
"
jquery.browser
"
:
"
components/jquery.browser/dist/jquery.browser
"
,
"
jquery.fastLiveFilter
"
:
"
src/jquery.fastLiveFilter
"
,
"
moment
"
:
"
components/momentjs/moment
"
,
"
moment
"
:
"
components/momentjs/moment
"
,
"
converse-templates
"
:
"
src/templates
"
,
"
converse-templates
"
:
"
src/templates
"
,
"
tpl
"
:
"
components/requirejs-tpl-jcbrand/tpl
"
,
"
tpl
"
:
"
components/requirejs-tpl-jcbrand/tpl
"
,
...
...
src/build-no-otr.js
View file @
1441f4ab
...
@@ -29,6 +29,7 @@
...
@@ -29,6 +29,7 @@
"
ru
"
:
"
locale/ru/LC_MESSAGES/ru
"
,
"
ru
"
:
"
locale/ru/LC_MESSAGES/ru
"
,
"
zh
"
:
"
locale/zh/LC_MESSAGES/zh
"
,
"
zh
"
:
"
locale/zh/LC_MESSAGES/zh
"
,
"
jquery.browser
"
:
"
components/jquery.browser/dist/jquery.browser
"
,
"
jquery.browser
"
:
"
components/jquery.browser/dist/jquery.browser
"
,
"
jquery.fastLiveFilter
"
:
"
src/jquery.fastLiveFilter
"
,
"
underscore
"
:
"
components/underscore/underscore
"
,
"
underscore
"
:
"
components/underscore/underscore
"
,
"
backbone
"
:
"
components/backbone/backbone
"
,
"
backbone
"
:
"
components/backbone/backbone
"
,
"
backbone.browserStorage
"
:
"
components/backbone.browserStorage/backbone.browserStorage
"
,
"
backbone.browserStorage
"
:
"
components/backbone.browserStorage/backbone.browserStorage
"
,
...
...
src/build-website-no-otr.js
View file @
1441f4ab
...
@@ -29,6 +29,7 @@
...
@@ -29,6 +29,7 @@
"
ru
"
:
"
locale/ru/LC_MESSAGES/ru
"
,
"
ru
"
:
"
locale/ru/LC_MESSAGES/ru
"
,
"
zh
"
:
"
locale/zh/LC_MESSAGES/zh
"
,
"
zh
"
:
"
locale/zh/LC_MESSAGES/zh
"
,
"
jquery.browser
"
:
"
components/jquery.browser/dist/jquery.browser
"
,
"
jquery.browser
"
:
"
components/jquery.browser/dist/jquery.browser
"
,
"
jquery.fastLiveFilter
"
:
"
src/jquery.fastLiveFilter
"
,
"
underscore
"
:
"
components/underscore/underscore
"
,
"
underscore
"
:
"
components/underscore/underscore
"
,
"
backbone
"
:
"
components/backbone/backbone
"
,
"
backbone
"
:
"
components/backbone/backbone
"
,
"
backbone.browserStorage
"
:
"
components/backbone.browserStorage/backbone.browserStorage
"
,
"
backbone.browserStorage
"
:
"
components/backbone.browserStorage/backbone.browserStorage
"
,
...
...
src/build-website.js
View file @
1441f4ab
...
@@ -35,6 +35,7 @@
...
@@ -35,6 +35,7 @@
"
backbone.overview
"
:
"
components/backbone.overview/backbone.overview
"
,
"
backbone.overview
"
:
"
components/backbone.overview/backbone.overview
"
,
"
bootstrap
"
:
"
components/bootstrap/dist/js/bootstrap
"
,
// XXX: Only required for https://conversejs.org website
"
bootstrap
"
:
"
components/bootstrap/dist/js/bootstrap
"
,
// XXX: Only required for https://conversejs.org website
"
jquery.easing
"
:
"
components/jquery-easing-original/jquery.easing.1.3
"
,
// XXX: Only required for https://conversejs.org website
"
jquery.easing
"
:
"
components/jquery-easing-original/jquery.easing.1.3
"
,
// XXX: Only required for https://conversejs.org website
"
jquery.fastLiveFilter
"
:
"
src/jquery.fastLiveFilter
"
,
"
strophe
"
:
"
components/strophe/strophe
"
,
"
strophe
"
:
"
components/strophe/strophe
"
,
"
strophe.muc
"
:
"
components/strophe.muc/index
"
,
"
strophe.muc
"
:
"
components/strophe.muc/index
"
,
"
strophe.roster
"
:
"
components/strophe.roster/index
"
,
"
strophe.roster
"
:
"
components/strophe.roster/index
"
,
...
...
src/build.js
View file @
1441f4ab
...
@@ -29,6 +29,7 @@
...
@@ -29,6 +29,7 @@
"
ru
"
:
"
locale/ru/LC_MESSAGES/ru
"
,
"
ru
"
:
"
locale/ru/LC_MESSAGES/ru
"
,
"
zh
"
:
"
locale/zh/LC_MESSAGES/zh
"
,
"
zh
"
:
"
locale/zh/LC_MESSAGES/zh
"
,
"
jquery.browser
"
:
"
components/jquery.browser/dist/jquery.browser
"
,
"
jquery.browser
"
:
"
components/jquery.browser/dist/jquery.browser
"
,
"
jquery.fastLiveFilter
"
:
"
src/jquery.fastLiveFilter
"
,
"
underscore
"
:
"
components/underscore/underscore
"
,
"
underscore
"
:
"
components/underscore/underscore
"
,
"
backbone
"
:
"
components/backbone/backbone
"
,
"
backbone
"
:
"
components/backbone/backbone
"
,
"
backbone.browserStorage
"
:
"
components/backbone.browserStorage/backbone.browserStorage
"
,
"
backbone.browserStorage
"
:
"
components/backbone.browserStorage/backbone.browserStorage
"
,
...
...
src/deps-full.js
View file @
1441f4ab
...
@@ -5,6 +5,7 @@ define("converse-dependencies", [
...
@@ -5,6 +5,7 @@ define("converse-dependencies", [
"
backbone.browserStorage
"
,
"
backbone.browserStorage
"
,
"
backbone.overview
"
,
"
backbone.overview
"
,
"
jquery.browser
"
,
"
jquery.browser
"
,
"
jquery.fastLiveFilter
"
,
"
strophe
"
,
"
strophe
"
,
"
strophe.muc
"
,
"
strophe.muc
"
,
"
strophe.roster
"
,
"
strophe.roster
"
,
...
...
src/deps-no-otr.js
View file @
1441f4ab
...
@@ -4,6 +4,7 @@ define("converse-dependencies", [
...
@@ -4,6 +4,7 @@ define("converse-dependencies", [
"
backbone.browserStorage
"
,
"
backbone.browserStorage
"
,
"
backbone.overview
"
,
"
backbone.overview
"
,
"
jquery.browser
"
,
"
jquery.browser
"
,
"
jquery.fastLiveFilter
"
,
"
strophe
"
,
"
strophe
"
,
"
strophe.muc
"
,
"
strophe.muc
"
,
"
strophe.roster
"
,
"
strophe.roster
"
,
...
...
src/deps-website-no-otr.js
View file @
1441f4ab
...
@@ -6,6 +6,7 @@ define("converse-dependencies", [
...
@@ -6,6 +6,7 @@ define("converse-dependencies", [
"
backbone.overview
"
,
"
backbone.overview
"
,
"
jquery.browser
"
,
"
jquery.browser
"
,
"
jquery.easing
"
,
// XXX: Can be removed, only for https://conversejs.org
"
jquery.easing
"
,
// XXX: Can be removed, only for https://conversejs.org
"
jquery.fastLiveFilter
"
,
"
strophe
"
,
"
strophe
"
,
"
strophe.muc
"
,
"
strophe.muc
"
,
"
strophe.roster
"
,
"
strophe.roster
"
,
...
...
src/deps-website.js
View file @
1441f4ab
...
@@ -2,11 +2,12 @@ define("converse-dependencies", [
...
@@ -2,11 +2,12 @@ define("converse-dependencies", [
"
otr
"
,
"
otr
"
,
"
moment
"
,
"
moment
"
,
"
locales
"
,
"
locales
"
,
"
bootstrap
"
,
// XXX:
Can be removed, o
nly for https://conversejs.org
"
bootstrap
"
,
// XXX:
O
nly for https://conversejs.org
"
backbone.browserStorage
"
,
"
backbone.browserStorage
"
,
"
backbone.overview
"
,
"
backbone.overview
"
,
"
jquery.browser
"
,
"
jquery.browser
"
,
"
jquery.easing
"
,
// XXX: Can be removed, only for https://conversejs.org
"
jquery.easing
"
,
// XXX: Only for https://conversejs.org
"
jquery.fastLiveFilter
"
,
"
strophe
"
,
"
strophe
"
,
"
strophe.muc
"
,
"
strophe.muc
"
,
"
strophe.roster
"
,
"
strophe.roster
"
,
...
...
src/jquery.fastLiveFilter.js
0 → 100644
View file @
1441f4ab
/**
* fastLiveFilter jQuery plugin 1.0.3
*
* Copyright (c) 2011, Anthony Bush
* License: <http://www.opensource.org/licenses/bsd-license.php>
* Project Website: http://anthonybush.com/projects/jquery_fast_live_filter/
**/
jQuery
.
fn
.
liveFilter
=
function
(
list
,
options
)
{
// Options: input, list, timeout, callback
options
=
options
||
{};
var
input
=
this
;
var
lastFilter
=
''
;
var
timeout
=
options
.
timeout
||
0
;
var
callback
=
options
.
callback
||
function
()
{};
var
keyTimeout
;
callback
();
// do a one-time callback on initialization to make sure everything's in sync
input
.
change
(
function
()
{
var
$list
=
jQuery
(
list
);
var
lis
=
$list
.
children
();
var
len
=
lis
.
length
;
var
filter
=
input
.
val
().
toLowerCase
();
if
(
filter
.
length
>
0
)
{
$list
.
find
(
options
.
hide
).
hide
();
}
else
{
$list
.
find
(
options
.
hide
).
show
();
}
var
li
,
innerText
;
var
numShown
=
0
;
for
(
var
i
=
0
;
i
<
len
;
i
++
)
{
li
=
lis
[
i
];
innerText
=
!
options
.
selector
?
(
li
.
textContent
||
li
.
innerText
||
""
)
:
$
(
li
).
find
(
options
.
selector
).
text
();
if
(
innerText
.
toLowerCase
().
indexOf
(
filter
)
>=
0
)
{
if
(
li
.
style
.
display
==
"
none
"
)
{
$
(
li
).
show
();
}
numShown
++
;
}
else
{
if
(
li
.
style
.
display
!=
"
none
"
)
{
$
(
li
).
hide
();
}
}
}
callback
(
numShown
);
return
false
;
}).
keydown
(
function
()
{
clearTimeout
(
keyTimeout
);
keyTimeout
=
setTimeout
(
function
()
{
if
(
input
.
val
()
===
lastFilter
)
return
;
lastFilter
=
input
.
val
();
input
.
change
();
},
timeout
);
});
return
this
;
// maintain jQuery chainability
};
src/templates.js
View file @
1441f4ab
...
@@ -32,6 +32,7 @@ define("converse-templates", [
...
@@ -32,6 +32,7 @@ define("converse-templates", [
"
tpl!src/templates/room_description
"
,
"
tpl!src/templates/room_description
"
,
"
tpl!src/templates/room_item
"
,
"
tpl!src/templates/room_item
"
,
"
tpl!src/templates/room_panel
"
,
"
tpl!src/templates/room_panel
"
,
"
tpl!src/templates/roster
"
,
"
tpl!src/templates/roster_item
"
,
"
tpl!src/templates/roster_item
"
,
"
tpl!src/templates/select_option
"
,
"
tpl!src/templates/select_option
"
,
"
tpl!src/templates/status_option
"
,
"
tpl!src/templates/status_option
"
,
...
@@ -73,11 +74,12 @@ define("converse-templates", [
...
@@ -73,11 +74,12 @@ define("converse-templates", [
room_description
:
arguments
[
30
],
room_description
:
arguments
[
30
],
room_item
:
arguments
[
31
],
room_item
:
arguments
[
31
],
room_panel
:
arguments
[
32
],
room_panel
:
arguments
[
32
],
roster_item
:
arguments
[
33
],
roster
:
arguments
[
33
],
select_option
:
arguments
[
34
],
roster_item
:
arguments
[
34
],
status_option
:
arguments
[
35
],
select_option
:
arguments
[
35
],
toggle_chats
:
arguments
[
36
],
status_option
:
arguments
[
36
],
toolbar
:
arguments
[
37
],
toggle_chats
:
arguments
[
37
],
trimmed_chat
:
arguments
[
38
]
toolbar
:
arguments
[
38
],
trimmed_chat
:
arguments
[
39
]
};
};
});
});
src/templates/roster.html
0 → 100644
View file @
1441f4ab
<input
class=
"roster-filter"
placeholder=
"{{placeholder}}"
>
<dl
class=
"roster-contacts"
style=
"display: block;"
>
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment