Commit bf837a92 authored by JC Brand's avatar JC Brand

Merge branch 'live-filter'

Conflicts:
	builds/converse-no-locales-no-otr.min.js
	builds/converse-no-otr.min.js
	builds/converse.min.js
	builds/converse.website-no-otr.min.js
	builds/converse.website.min.js
parents 33aac2cf c5ce850e
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
......@@ -754,7 +754,7 @@ dl.add-converse-contact {
clear: right;
height: 22px;
width: 12px;
padding: 0px 5px 0 0;
padding: 0px 15px 0 0;
color: #4f4f4f;
}
#conversejs ul#found-users {
......@@ -817,7 +817,7 @@ dl.add-converse-contact {
top: 1px;
}
#conversejs .controlbox-pane dt {
padding: 3px;
padding-bottom: 3px;
}
#conversejs .chatroom-form-container {
height: 100%;
......@@ -872,24 +872,52 @@ dl.add-converse-contact {
white-space: nowrap;
text-overflow: ellipsis;
}
#conversejs #converse-roster span.req-contact-name {
#converse-roster span.req-contact-name {
width: 65%;
}
#conversejs #converse-roster span.pending-contact-name,
#conversejs #converse-roster a.open-chat {
#converse-roster span.pending-contact-name,
#converse-roster a.open-chat {
width: 80%;
}
#converse-roster dd span {
padding: 0 5px 0 0;
}
#converse-roster {
overflow-y: auto;
overflow-x: hidden;
width: 100%;
position: relative;
margin: 0.5em 0 0 0;
height: 254px;
height: calc(100% - 70px);
height: 194px;
height: calc(100% - 25px);
overflow-x: hidden;
}
#converse-roster .roster-filter {
padding: 0;
margin: 0 0 5px 0.5em;
width: 111px;
height: 20px;
background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAcAAAAHCAYAAADEUlfTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAIGNIUk0AAHolAACAgwAA+f8AAIDpAAB1MAAA6mAAADqYAAAXb5JfxUYAAABNSURBVHjaXI7BDcAwCAMvyQjMyQ6dAbZiKfqoUK34g2zJh1dENIC7M8pMAPYdzAVY3d0ajNz9aypS/b5R6o+ZPdqoKgCq6h80KH3xDgBqNR97p8oAGQAAAABJRU5ErkJggg== ) no-repeat right -20px center;
border: 1px solid #999;
display: inline-block;
}
#converse-roster .filter-type {
height: 20px;
padding: 0;
margin: 0 0 0 -5px;
}
/* (jQ addClass:) if input has value: */
#converse-roster .roster-filter.x {
background-position: right 3px center;
}
/* (jQ addClass:) if mouse is over the 'x' input area*/
#converse-roster .roster-filter.onX {
cursor: pointer;
}
#converse-roster .roster-contacts {
margin: 0;
overflow-y: auto;
overflow-x: hidden;
max-height: 195px;
max-height: calc(100% - 67px);
}
#converse-roster .group-toggle {
color: #666;
......@@ -961,7 +989,7 @@ dl.add-converse-contact {
text-shadow: 0 1px 0 #fafafa;
clear: both;
}
#conversejs #converse-roster dd {
#converse-roster dd {
line-height: 16px;
}
#conversejs .group-toggle {
......@@ -970,20 +998,20 @@ dl.add-converse-contact {
}
#conversejs .roster-group:hover,
#conversejs dd.available-chatroom:hover,
#conversejs #converse-roster dd:hover {
#converse-roster dd:hover {
background-color: #eee;
}
#conversejs #converse-roster dd a.decline-xmpp-request {
#converse-roster dd a.decline-xmpp-request {
margin-left: 5px;
}
#conversejs #converse-roster dd a.remove-xmpp-contact {
#converse-roster dd a.remove-xmpp-contact {
float: right;
width: 22px;
margin: 0;
display: none;
color: #4f4f4f;
}
#conversejs #converse-roster dd:hover a.remove-xmpp-contact {
#converse-roster dd:hover a.remove-xmpp-contact {
display: inline-block;
}
#conversejs .chatbox,
......
This diff is collapsed.
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::
1. Converse.js is now relicensed under the `Mozilla Public License <http://www.mozilla.org/MPL/2.0/>`_.
......
......@@ -11,14 +11,8 @@
<link type="text/css" rel="stylesheet" media="screen" href="components/bootstrap/dist/css/bootstrap.min.css" />
<link type="text/css" rel="stylesheet" media="screen" href="components/fontawesome/css/font-awesome.min.css" />
<link type="text/css" rel="stylesheet" media="screen" href="css/theme.css" />
<link type="text/css" rel="stylesheet" media="screen" href="css/converse.min.css" />
<!-- Only for development: <script data-main="main" src="components/requirejs/require.js"></script> -->
<![if gte IE 9]>
<script src="builds/converse.website.min.js"></script>
<![endif]>
<!--[if lt IE 9]>
<script src="builds/converse.website-no-otr.min.js"></script>
<![endif]-->
<link type="text/css" rel="stylesheet" media="screen" href="css/converse.css" />
<script data-main="main" src="components/requirejs/require.js"></script>
</head>
<body id="page-top" data-spy="scroll" data-target=".navbar-custom">
......
......@@ -831,7 +831,7 @@ dl.add-converse-contact {
clear: right;
height: 22px;
width: 12px;
padding: 0px 5px 0 0;
padding: 0px 15px 0 0;
color: rgb(79, 79, 79);
}
......@@ -902,7 +902,7 @@ dl.add-converse-contact {
}
#conversejs .controlbox-pane dt {
padding: 3px;
padding-bottom: 3px;
}
#conversejs .chatroom-form-container {
......@@ -967,12 +967,12 @@ dl.add-converse-contact {
text-overflow: ellipsis;
}
#conversejs #converse-roster span.req-contact-name {
#converse-roster span.req-contact-name {
width: 65%;
}
#conversejs #converse-roster span.pending-contact-name,
#conversejs #converse-roster a.open-chat {
#converse-roster span.pending-contact-name,
#converse-roster a.open-chat {
width: 80%;
}
......@@ -981,13 +981,46 @@ dl.add-converse-contact {
}
#converse-roster {
overflow-y: auto;
overflow-x: hidden;
width: 100%;
position: relative;
margin: 0.5em 0 0 0;
height: 254px;
height: ~"calc(100% - 70px)";
height: 194px;
height: ~"calc(100% - 25px)";
overflow-x: hidden;
}
#converse-roster .roster-filter {
padding: 0;
margin: 0 0 5px 0.5em;
width: 111px;
height: 20px;
background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAcAAAAHCAYAAADEUlfTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAIGNIUk0AAHolAACAgwAA+f8AAIDpAAB1MAAA6mAAADqYAAAXb5JfxUYAAABNSURBVHjaXI7BDcAwCAMvyQjMyQ6dAbZiKfqoUK34g2zJh1dENIC7M8pMAPYdzAVY3d0ajNz9aypS/b5R6o+ZPdqoKgCq6h80KH3xDgBqNR97p8oAGQAAAABJRU5ErkJggg== ) no-repeat right -20px center;
border: 1px solid #999;
display: inline-block;
}
#converse-roster .filter-type {
height: 20px;
padding: 0;
margin: 0 0 0 -5px;
}
/* (jQ addClass:) if input has value: */
#converse-roster .roster-filter.x {
background-position: right 3px center;
}
/* (jQ addClass:) if mouse is over the 'x' input area*/
#converse-roster .roster-filter.onX{
cursor:pointer;
}
#converse-roster .roster-contacts {
margin: 0;
overflow-y: auto;
overflow-x: hidden;
max-height: 195px;
max-height: ~"calc(100% - 67px)";
}
#converse-roster .group-toggle {
......@@ -1073,7 +1106,7 @@ dl.add-converse-contact {
clear: both;
}
#conversejs #converse-roster dd {
#converse-roster dd {
line-height: 16px;
}
......@@ -1084,15 +1117,15 @@ dl.add-converse-contact {
#conversejs .roster-group:hover,
#conversejs dd.available-chatroom:hover,
#conversejs #converse-roster dd:hover {
#converse-roster dd:hover {
background-color: #eee;
}
#conversejs #converse-roster dd a.decline-xmpp-request {
#converse-roster dd a.decline-xmpp-request {
margin-left: 5px;
}
#conversejs #converse-roster dd a.remove-xmpp-contact {
#converse-roster dd a.remove-xmpp-contact {
float: right;
width: 22px;
margin: 0;
......@@ -1100,7 +1133,7 @@ dl.add-converse-contact {
color: rgb(79, 79, 79);
}
#conversejs #converse-roster dd:hover a.remove-xmpp-contact {
#converse-roster dd:hover a.remove-xmpp-contact {
display: inline-block;
}
......
......@@ -4,6 +4,7 @@ config = {
"jquery": "components/jquery/dist/jquery",
"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
"utils": "src/utils",
"bootstrap": "components/bootstrap/dist/js/bootstrap", // XXX: Only required for https://conversejs.org website
"locales": "locale/locales",
"underscore": "components/underscore/underscore",
......@@ -74,6 +75,7 @@ config = {
'bigint': { deps: ['crypto'] },
'jquery.browser': { deps: ['jquery'] },
'jquery.easing': { deps: ['jquery'] },
'utils': { deps: ['jquery'] },
'strophe': { deps: ['jquery'] },
'strophe.disco': { deps: ['strophe'] },
'strophe.muc': { deps: ['strophe', 'jquery'] },
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
(function (root, factory) {
define([
"mock",
"utils"
], function (mock, utils) {
return factory(mock, utils);
"test_utils"
], function (mock, test_utils) {
return factory(mock, test_utils);
}
);
} (this, function (mock, utils) {
return describe("ChatRooms", $.proxy(function (mock, utils) {
} (this, function (mock, test_utils) {
return describe("ChatRooms", $.proxy(function (mock, test_utils) {
describe("A Chat Room", $.proxy(function () {
beforeEach(function () {
runs(function () {
utils.closeAllChatBoxes();
test_utils.closeAllChatBoxes();
});
waits(250);
runs(function () {
utils.openControlBox();
test_utils.openControlBox();
});
waits(250);
runs(function () {
utils.openRoomsPanel();
test_utils.openRoomsPanel();
});
waits(501);
runs(function () {
......@@ -35,7 +35,7 @@
});
waits(250);
runs(function () {
utils.closeControlBox();
test_utils.closeControlBox();
});
waits(250);
runs(function () {});
......@@ -116,7 +116,7 @@
// We instantiate a new ChatBoxes collection, which by default
// will be empty.
spyOn(this.chatboxviews, 'trimChats');
utils.openControlBox();
test_utils.openControlBox();
var newchatboxes = new this.ChatBoxes();
expect(newchatboxes.length).toEqual(0);
// The chatboxes will then be fetched from browserStorage inside the
......@@ -350,5 +350,5 @@
expect(view.$el.find('.chat-body p').text()).toBe("This room has reached it's maximum number of occupants");
}, converse));
}, converse));
}, converse, mock, utils));
}, converse, mock, test_utils));
}));
(function (root, factory) {
define([
"mock",
"utils"
], function (mock, utils) {
return factory(mock, utils);
"test_utils"
], function (mock, test_utils) {
return factory(mock, test_utils);
}
);
} (this, function (mock, utils) {
} (this, function (mock, test_utils) {
var checkHeaderToggling = function ($header) {
var $toggle = $header.find('a.group-toggle');
......@@ -24,16 +24,16 @@
expect($header.nextUntil('dt', 'dd').length === $header.nextUntil('dt', 'dd:visible').length).toBeTruthy();
};
describe("The Control Box", $.proxy(function (mock, utils) {
describe("The Control Box", $.proxy(function (mock, test_utils) {
beforeEach(function () {
runs(function () {
utils.openControlBox();
test_utils.openControlBox();
});
});
it("can be opened by clicking a DOM element with class 'toggle-controlbox'", $.proxy(function () {
runs(function () {
utils.closeControlBox();
test_utils.closeControlBox();
});
waits(50);
runs(function () {
......@@ -59,7 +59,7 @@
describe("The Status Widget", $.proxy(function () {
beforeEach(function () {
utils.openControlBox();
test_utils.openControlBox();
});
it("shows the user's chat status, which is online by default", $.proxy(function () {
......@@ -120,9 +120,9 @@
});
}, converse));
}, converse));
}, converse, mock, utils));
}, converse, mock, test_utils));
describe("The Contacts Roster", $.proxy(function (mock, utils) {
describe("The Contacts Roster", $.proxy(function (mock, test_utils) {
describe("A Roster Group", $.proxy(function () {
......@@ -135,7 +135,7 @@
});
function _clearContacts () {
utils.clearBrowserStorage();
test_utils.clearBrowserStorage();
converse.rosterview.model.reset();
}
......@@ -146,8 +146,8 @@
spyOn(this.rosterview, 'update').andCallThrough();
converse.rosterview.render();
utils.createContacts('pending');
utils.createContacts('requesting');
test_utils.createContacts('pending');
test_utils.createContacts('requesting');
var groups = {
'colleagues': 3,
'friends & acquaintences': 3,
......@@ -243,14 +243,14 @@
describe("Pending Contacts", $.proxy(function () {
function _clearContacts () {
utils.clearBrowserStorage();
test_utils.clearBrowserStorage();
converse.rosterview.model.reset();
}
function _addContacts () {
_clearContacts();
// Must be initialized, so that render is called and documentFragment set up.
utils.createContacts('pending').openControlBox().openContactsPanel();
test_utils.createContacts('pending').openControlBox().openContactsPanel();
}
it("can be collapsed under their own header", $.proxy(function () {
......@@ -350,13 +350,13 @@
describe("Existing Contacts", $.proxy(function () {
function _clearContacts () {
utils.clearBrowserStorage();
test_utils.clearBrowserStorage();
converse.rosterview.model.reset();
}
var _addContacts = function () {
_clearContacts();
utils.createContacts().openControlBox().openContactsPanel();
test_utils.createContacts().openControlBox().openContactsPanel();
};
it("can be collapsed under their own header", $.proxy(function () {
......@@ -561,13 +561,13 @@
describe("Requesting Contacts", $.proxy(function () {
beforeEach($.proxy(function () {
runs(function () {
utils.clearBrowserStorage();
test_utils.clearBrowserStorage();
converse.rosterview.model.reset();
utils.createContacts('requesting').openControlBox();
test_utils.createContacts('requesting').openControlBox();
});
waits(50);
runs(function () {
utils.openContactsPanel();
test_utils.openContactsPanel();
});
}, converse));
......@@ -646,7 +646,7 @@
spyOn(converse, 'emit');
spyOn(this.connection.roster, 'unauthorize');
spyOn(window, 'confirm').andReturn(true);
utils.createContacts('requesting').openControlBox();
test_utils.createContacts('requesting').openControlBox();
var name = mock.req_names.sort()[1];
var jid = name.replace(/ /g,'.').toLowerCase() + '@localhost';
converse.rosterview.$el.find(".req-contact-name:contains('"+name+"')")
......@@ -661,10 +661,10 @@
describe("All Contacts", $.proxy(function () {
beforeEach($.proxy(function () {
utils.clearBrowserStorage();
test_utils.clearBrowserStorage();
converse.rosterview.model.reset();
utils.createContacts('all').openControlBox();
utils.openContactsPanel();
test_utils.createContacts('all').openControlBox();
test_utils.openContactsPanel();
}, converse));
it("are saved to, and can be retrieved from, browserStorage", $.proxy(function () {
......@@ -700,9 +700,9 @@
}
}, converse));
}, converse));
}, converse, mock, utils));
}, converse, mock, test_utils));
describe("The 'Add Contact' widget", $.proxy(function (mock, utils) {
describe("The 'Add Contact' widget", $.proxy(function (mock, test_utils) {
it("opens up an add form when you click on it", $.proxy(function () {
var panel = this.chatboxviews.get('controlbox').contactspanel;
spyOn(panel, 'toggleContactForm').andCallThrough();
......@@ -713,16 +713,16 @@
panel.$el.find('a.toggle-xmpp-contact-form').click();
}, converse));
}, converse, mock, utils));
}, converse, mock, test_utils));
describe("The Controlbox Tabs", $.proxy(function () {
beforeEach($.proxy(function () {
runs(function () {
utils.closeAllChatBoxes();
test_utils.closeAllChatBoxes();
});
waits(50);
runs(function () {
utils.openControlBox();
test_utils.openControlBox();
});
}, converse));
......@@ -739,11 +739,11 @@
describe("chatrooms panel", $.proxy(function () {
beforeEach($.proxy(function () {
runs(function () {
utils.closeAllChatBoxes();
test_utils.closeAllChatBoxes();
});
waits(50);
runs(function () {
utils.openControlBox();
test_utils.openControlBox();
});
}, converse));
......@@ -792,5 +792,5 @@
}, converse));
}, converse));
}, converse));
}, converse, mock, utils));
}, converse, mock, test_utils));
}));
(function (root, factory) {
define([
"mock",
"utils"
], function (mock, utils) {
return factory(mock, utils);
"test_utils"
], function (mock, test_utils) {
return factory(mock, test_utils);
}
);
} (this, function (mock, utils) {
return describe("Converse", $.proxy(function(mock, utils) {
} (this, function (mock, test_utils) {
return describe("Converse", $.proxy(function(mock, test_utils) {
beforeEach($.proxy(function () {
window.localStorage.clear();
......@@ -43,5 +43,5 @@
// Restore the connection
converse.connection = old_connection;
}, converse));
}, converse, mock, utils));
}, converse, mock, test_utils));
}));
(function (root, factory) {
define([
"mock",
"utils"
], function (mock, utils) {
return factory(mock, utils);
"test_utils"
], function (mock, test_utils) {
return factory(mock, test_utils);
}
);
} (this, function (mock, utils) {
return describe("The Converse Event Emitter", $.proxy(function(mock, utils) {
} (this, function (mock, test_utils) {
return describe("The Converse Event Emitter", $.proxy(function(mock, test_utils) {
window.localStorage.clear();
window.sessionStorage.clear();
......@@ -64,5 +64,5 @@
expect(this.anotherCallback.callCount, 3);
expect(this.neverCalled).not.toHaveBeenCalled();
});
}, converse, mock, utils));
}, converse, mock, test_utils));
}));
(function (root, factory) {
define([
"mock",
"utils"
], function (mock, utils) {
return factory(mock, utils);
"test_utils"
], function (mock, test_utils) {
return factory(mock, test_utils);
}
);
} (this, function (mock, utils) {
return describe("The Minimized Chats Widget", $.proxy(function(mock, utils) {
} (this, function (mock, test_utils) {
return describe("The Minimized Chats Widget", $.proxy(function(mock, test_utils) {
beforeEach(function () {
runs(function () {
utils.closeAllChatBoxes();
utils.removeControlBox();
test_utils.closeAllChatBoxes();
test_utils.removeControlBox();
converse.roster.browserStorage._clear();
utils.initConverse();
utils.createContacts();
utils.openControlBox();
utils.openContactsPanel();
test_utils.initConverse();
test_utils.createContacts();
test_utils.openControlBox();
test_utils.openContactsPanel();
converse.minimized_chats.toggleview.model.browserStorage._clear();
converse.minimized_chats.initToggle();
});
......@@ -26,7 +26,7 @@
it("shows chats that have been minimized", $.proxy(function () {
var contact_jid, chatview;
contact_jid = mock.cur_names[0].replace(/ /g,'.').toLowerCase() + '@localhost';
utils.openChatBoxFor(contact_jid);
test_utils.openChatBoxFor(contact_jid);
chatview = converse.chatboxviews.get(contact_jid);
expect(chatview.model.get('minimized')).toBeFalsy();
expect(this.minimized_chats.$el.is(':visible')).toBeFalsy();
......@@ -37,7 +37,7 @@
expect(this.minimized_chats.keys()[0]).toBe(contact_jid);
contact_jid = mock.cur_names[1].replace(/ /g,'.').toLowerCase() + '@localhost';
utils.openChatBoxFor(contact_jid);
test_utils.openChatBoxFor(contact_jid);
chatview = converse.chatboxviews.get(contact_jid);
expect(chatview.model.get('minimized')).toBeFalsy();
chatview.$el.find('.toggle-chatbox-button').click();
......@@ -49,7 +49,7 @@
it("can be toggled to hide or show minimized chats", $.proxy(function () {
var contact_jid = mock.cur_names[0].replace(/ /g,'.').toLowerCase() + '@localhost';
utils.openChatBoxFor(contact_jid);
test_utils.openChatBoxFor(contact_jid);
var chatview = converse.chatboxviews.get(contact_jid);
expect(this.minimized_chats.$el.is(':visible')).toBeFalsy();
chatview.model.set({'minimized': true});
......@@ -70,7 +70,7 @@
expect(this.minimized_chats.toggleview.$('.unread-message-count').is(':visible')).toBeFalsy();
for (i=0; i<3; i++) {
contact_jid = mock.cur_names[i].replace(/ /g,'.').toLowerCase() + '@localhost';
utils.openChatBoxFor(contact_jid);
test_utils.openChatBoxFor(contact_jid);
chatview = converse.chatboxviews.get(contact_jid);
chatview.model.set({'minimized': true});
msg = $msg({
......@@ -86,5 +86,5 @@
}
}, converse));
}, converse, mock, utils));
}, converse, mock, test_utils));
}));
(function (root, factory) {
define([
"mock",
"utils"
], function (mock, utils) {
return factory(mock, utils);
"test_utils"
], function (mock, test_utils) {
return factory(mock, test_utils);
}
);
} (this, function (mock, utils) {
return describe("The OTR module", $.proxy(function(mock, utils) {
} (this, function (mock, test_utils) {
return describe("The OTR module", $.proxy(function(mock, test_utils) {
beforeEach($.proxy(function () {
window.localStorage.clear();
......@@ -36,5 +36,5 @@
// Clean up
this.prebind = false;
}, converse));
}, converse, mock, utils));
}, converse, mock, test_utils));
}));
......@@ -25,6 +25,7 @@
"strophe.disco": "components/strophe.disco/index",
"converse-dependencies": "src/deps-no-otr",
"jquery.browser": "components/jquery.browser/dist/jquery.browser",
"utils": "src/utils",
"moment":"components/momentjs/moment",
"converse-templates":"src/templates",
"tpl": "components/requirejs-tpl-jcbrand/tpl",
......
......@@ -29,6 +29,7 @@
"ru": "locale/ru/LC_MESSAGES/ru",
"zh": "locale/zh/LC_MESSAGES/zh",
"jquery.browser": "components/jquery.browser/dist/jquery.browser",
"utils": "src/utils",
"underscore": "components/underscore/underscore",
"backbone": "components/backbone/backbone",
"backbone.browserStorage": "components/backbone.browserStorage/backbone.browserStorage",
......
......@@ -29,6 +29,7 @@
"ru": "locale/ru/LC_MESSAGES/ru",
"zh": "locale/zh/LC_MESSAGES/zh",
"jquery.browser": "components/jquery.browser/dist/jquery.browser",
"utils": "src/utils",
"underscore": "components/underscore/underscore",
"backbone": "components/backbone/backbone",
"backbone.browserStorage": "components/backbone.browserStorage/backbone.browserStorage",
......
......@@ -35,6 +35,7 @@
"backbone.overview": "components/backbone.overview/backbone.overview",
"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
"utils": "src/utils",
"strophe": "components/strophe/strophe",
"strophe.muc": "components/strophe.muc/index",
"strophe.roster": "components/strophe.roster/index",
......
......@@ -29,6 +29,7 @@
"ru": "locale/ru/LC_MESSAGES/ru",
"zh": "locale/zh/LC_MESSAGES/zh",
"jquery.browser": "components/jquery.browser/dist/jquery.browser",
"utils": "src/utils",
"underscore": "components/underscore/underscore",
"backbone": "components/backbone/backbone",
"backbone.browserStorage": "components/backbone.browserStorage/backbone.browserStorage",
......
......@@ -5,6 +5,7 @@ define("converse-dependencies", [
"backbone.browserStorage",
"backbone.overview",
"jquery.browser",
"utils",
"strophe",
"strophe.muc",
"strophe.roster",
......
......@@ -4,6 +4,7 @@ define("converse-dependencies", [
"backbone.browserStorage",
"backbone.overview",
"jquery.browser",
"utils",
"strophe",
"strophe.muc",
"strophe.roster",
......
......@@ -6,6 +6,7 @@ define("converse-dependencies", [
"backbone.overview",
"jquery.browser",
"jquery.easing", // XXX: Can be removed, only for https://conversejs.org
"utils",
"strophe",
"strophe.muc",
"strophe.roster",
......
......@@ -2,11 +2,12 @@ define("converse-dependencies", [
"otr",
"moment",
"locales",
"bootstrap", // XXX: Can be removed, only for https://conversejs.org
"bootstrap", // XXX: Only for https://conversejs.org
"backbone.browserStorage",
"backbone.overview",
"jquery.browser",
"jquery.easing", // XXX: Can be removed, only for https://conversejs.org
"jquery.easing", // XXX: Only for https://conversejs.org
"utils",
"strophe",
"strophe.muc",
"strophe.roster",
......
......@@ -32,6 +32,7 @@ define("converse-templates", [
"tpl!src/templates/room_description",
"tpl!src/templates/room_item",
"tpl!src/templates/room_panel",
"tpl!src/templates/roster",
"tpl!src/templates/roster_item",
"tpl!src/templates/select_option",
"tpl!src/templates/status_option",
......@@ -73,11 +74,12 @@ define("converse-templates", [
room_description: arguments[30],
room_item: arguments[31],
room_panel: arguments[32],
roster_item: arguments[33],
select_option: arguments[34],
status_option: arguments[35],
toggle_chats: arguments[36],
toolbar: arguments[37],
trimmed_chat: arguments[38]
roster: arguments[33],
roster_item: arguments[34],
select_option: arguments[35],
status_option: arguments[36],
toggle_chats: arguments[37],
toolbar: arguments[38],
trimmed_chat: arguments[39]
};
});
<input class="roster-filter" placeholder="{{placeholder}}">
<select class="filter-type">
<option value="contacts">{{label_contacts}}</option>
<option value="groups">{{label_groups}}</option>
</select>
<dl class="roster-contacts" style="display: block;">
jQuery.fn.hasScrollBar = function() {
if (!$.contains(document, this.get(0))) {
return false;
}
if(this.parent().height() < this.get(0).scrollHeight) {
return true;
}
return false;
};
// Extra test dependencies
config.paths.mock = "tests/mock";
config.paths.utils = "tests/utils";
config.paths.test_utils = "tests/utils";
config.paths.jasmine = "components/jasmine/lib/jasmine-core/jasmine";
config.paths["jasmine-html"] = "components/jasmine/lib/jasmine-core/jasmine-html";
config.paths["console-runner"] = "node_modules/phantom-jasmine/lib/console-runner";
......
(function (root, factory) {
define("utils", [
define("test_utils", [
'jquery',
'mock'
],
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment