Commit 90d1071d authored by JC Brand's avatar JC Brand

Load templates in the respective plugins

parent aef32fed
......@@ -60,7 +60,6 @@ require.config({
"converse-ping": "src/converse-ping",
"converse-register": "src/converse-register",
"converse-rosterview": "src/converse-rosterview",
"converse-templates": "src/converse-templates",
"converse-vcard": "src/converse-vcard",
// Off-the-record-encryption
......@@ -155,13 +154,11 @@ require.config({
"new_day": "src/templates/new_day",
"occupant": "src/templates/occupant",
"pending_contact": "src/templates/pending_contact",
"pending_contacts": "src/templates/pending_contacts",
"register_panel": "src/templates/register_panel",
"register_tab": "src/templates/register_tab",
"registration_form": "src/templates/registration_form",
"registration_request": "src/templates/registration_request",
"requesting_contact": "src/templates/requesting_contact",
"requesting_contacts": "src/templates/requesting_contacts",
"room_description": "src/templates/room_description",
"room_item": "src/templates/room_item",
"room_panel": "src/templates/room_panel",
......@@ -174,7 +171,6 @@ require.config({
"toolbar": "src/templates/toolbar",
"toolbar_otr": "src/templates/toolbar_otr",
"trimmed_chat": "src/templates/trimmed_chat",
"vcard": "src/templates/vcard",
"chatbox_minimize": "src/templates/chatbox_minimize"
},
......
this["templates"] = this["templates"] || {};
this["templates"]["action"] = function(obj) {
obj || (obj = {});
var __t, __p = '', __e = _.escape;
with (obj) {
__p += '<div class="chat-message ' +
((__t = (extra_classes)) == null ? '' : __t) +
'" data-isodate="' +
((__t = (isodate)) == null ? '' : __t) +
'">\n <span class="chat-msg-author chat-msg-' +
((__t = (sender)) == null ? '' : __t) +
'">' +
((__t = (time)) == null ? '' : __t) +
' **' +
((__t = (username)) == null ? '' : __t) +
' </span>\n <span class="chat-msg-content">' +
((__t = (message)) == null ? '' : __t) +
'</span>\n</div>\n';
}
return __p
};
this["templates"]["add_contact_dropdown"] = function(obj) {
obj || (obj = {});
var __t, __p = '', __e = _.escape;
with (obj) {
__p += '<dl class="add-converse-contact dropdown">\n <dt id="xmpp-contact-search" class="fancy-dropdown">\n <a class="toggle-xmpp-contact-form icon-plus" href="#" title="' +
((__t = (label_click_to_chat)) == null ? '' : __t) +
'"> ' +
((__t = (label_add_contact)) == null ? '' : __t) +
'</a>\n </dt>\n <dd class="search-xmpp" style="display:none"><ul></ul></dd>\n</dl>\n';
}
return __p
};
this["templates"]["add_contact_form"] = function(obj) {
obj || (obj = {});
var __t, __p = '', __e = _.escape;
with (obj) {
__p += '<li>\n <form class="pure-form add-xmpp-contact">\n <input type="text"\n name="identifier"\n class="username"\n placeholder="' +
((__t = (label_contact_username)) == null ? '' : __t) +
'"/>\n <button class="pure-button button-primary" type="submit">' +
((__t = (label_add)) == null ? '' : __t) +
'</button>\n </form>\n</li>\n';
}
return __p
};
this["templates"]["change_status_message"] = function(obj) {
obj || (obj = {});
var __t, __p = '', __e = _.escape;
with (obj) {
__p += '<form id="set-custom-xmpp-status" class="pure-form">\n<fieldset>\n <span class="input-button-group">\n <input type="text" class="custom-xmpp-status" ' +
((__t = (status_message)) == null ? '' : __t) +
' placeholder="' +
((__t = (label_custom_status)) == null ? '' : __t) +
'"/>\n <input type="submit" class="pure-button button-primary" value="' +
((__t = (label_save)) == null ? '' : __t) +
'"/>\n </span>\n</fieldset>\n</form>\n';
}
return __p
};
this["templates"]["chat_status"] = function(obj) {
obj || (obj = {});
var __t, __p = '', __e = _.escape;
with (obj) {
__p += '<div class="xmpp-status">\n <a class="choose-xmpp-status ' +
((__t = (chat_status)) == null ? '' : __t) +
' icon-' +
((__t = (chat_status)) == null ? '' : __t) +
'" data-value="' +
((__t = (status_message)) == null ? '' : __t) +
'" href="#" title="' +
((__t = (desc_change_status)) == null ? '' : __t) +
'">\n ' +
((__t = (status_message)) == null ? '' : __t) +
'\n </a>\n <a class="change-xmpp-status-message icon-pencil" href="#" title="' +
((__t = (desc_custom_status)) == null ? '' : __t) +
'"></a>\n</div>\n';
}
return __p
};
this["templates"]["chatarea"] = function(obj) {
obj || (obj = {});
var __t, __p = '', __e = _.escape, __j = Array.prototype.join;
function print() { __p += __j.call(arguments, '') }
with (obj) {
__p += '<div class="chat-area">\n <div class="chat-content"></div>\n <div class="new-msgs-indicator hidden">▼ ' +
((__t = ( unread_msgs )) == null ? '' : __t) +
' ▼</div>\n <form class="sendXMPPMessage" action="" method="post">\n ';
if (show_toolbar) { ;
__p += '\n <ul class="chat-toolbar no-text-select"></ul>\n ';
} ;
__p += '\n <textarea type="text" class="chat-textarea" \n placeholder="' +
((__t = (label_message)) == null ? '' : __t) +
'"/>\n </form>\n</div>\n';
}
return __p
};
this["templates"]["chatbox"] = function(obj) {
obj || (obj = {});
var __t, __p = '', __e = _.escape, __j = Array.prototype.join;
function print() { __p += __j.call(arguments, '') }
with (obj) {
__p += '<div class="flyout box-flyout">\n <div class="dragresize dragresize-top"></div>\n <div class="dragresize dragresize-topleft"></div>\n <div class="dragresize dragresize-left"></div>\n <div class="chat-head chat-head-chatbox">\n <a class="chatbox-btn close-chatbox-button icon-close" title="' +
((__t = (info_close)) == null ? '' : __t) +
'"></a>\n <div class="chat-title">\n ';
if (url) { ;
__p += '\n <a href="' +
((__t = (url)) == null ? '' : __t) +
'" target="_blank" rel="noopener" class="user">\n ';
} ;
__p += '\n ' +
((__t = ( title )) == null ? '' : __t) +
'\n ';
if (url) { ;
__p += '\n </a>\n ';
} ;
__p += '\n </div>\n <p class="user-custom-message"><p/>\n </div>\n <div class="chat-body">\n <div class="chat-content"></div>\n <div class="new-msgs-indicator hidden">▼ ' +
((__t = ( unread_msgs )) == null ? '' : __t) +
' ▼</div>\n ';
if (show_textarea) { ;
__p += '\n <form class="sendXMPPMessage" action="" method="post">\n ';
if (show_toolbar) { ;
__p += '\n <ul class="chat-toolbar no-text-select"></ul>\n ';
} ;
__p += '\n <textarea\n type="text"\n class="chat-textarea"\n placeholder="' +
((__t = (label_personal_message)) == null ? '' : __t) +
'"/>\n </form>\n ';
} ;
__p += '\n </div>\n</div>\n';
}
return __p
};
this["templates"]["chatbox_minimize"] = function(obj) {
obj || (obj = {});
var __t, __p = '', __e = _.escape;
with (obj) {
__p += '<a class="chatbox-btn toggle-chatbox-button icon-minus" title="' +
((__t = (info_minimize)) == null ? '' : __t) +
'"></a>\n';
}
return __p
};
this["templates"]["chatroom"] = function(obj) {
obj || (obj = {});
var __t, __p = '', __e = _.escape;
with (obj) {
__p += '<div class="flyout box-flyout">\n <div class="dragresize dragresize-top"></div>\n <div class="dragresize dragresize-topleft"></div>\n <div class="dragresize dragresize-left"></div>\n <div class="chat-head chat-head-chatroom">\n <a class="chatbox-btn close-chatbox-button icon-close"></a>\n <a class="chatbox-btn configure-chatroom-button icon-wrench" style="display:none"></a>\n <div class="chat-title"> ' +
((__t = ( _.escape(name) )) == null ? '' : __t) +
' </div>\n <p class="chatroom-topic"><p/>\n </div>\n <div class="chat-body chatroom-body"><span class="spinner centered"/></div>\n</div>\n';
}
return __p
};
this["templates"]["chatroom_form"] = function(obj) {
obj || (obj = {});
var __t, __p = '', __e = _.escape;
with (obj) {
__p += '<div class="chatroom-form-container">\n <form class="pure-form pure-form-stacked converse-form chatroom-form">\n <fieldset>\n <span class="spinner centered"/>\n </fieldset>\n </form>\n</div>\n';
}
return __p
};
this["templates"]["chatroom_nickname_form"] = function(obj) {
obj || (obj = {});
var __t, __p = '', __e = _.escape;
with (obj) {
__p += '<div class="chatroom-form-container">\n <form class="pure-form converse-form chatroom-form">\n <fieldset>\n <label>' +
((__t = (heading)) == null ? '' : __t) +
'</label>\n <p class="validation-message">' +
((__t = (validation_message)) == null ? '' : __t) +
'</p>\n <input type="text" required="required" name="nick" class="new-chatroom-nick" placeholder="' +
((__t = (label_nickname)) == null ? '' : __t) +
'"/>\n </fieldset>\n <fieldset>\n <input type="submit" class="pure-button button-primary" name="join" value="' +
((__t = (label_join)) == null ? '' : __t) +
'"/>\n </fieldset>\n </form>\n</div>\n';
}
return __p
};
this["templates"]["chatroom_password_form"] = function(obj) {
obj || (obj = {});
var __t, __p = '', __e = _.escape;
with (obj) {
__p += '<div class="chatroom-form-container">\n <form class="pure-form converse-form chatroom-form">\n <fieldset>\n <legend>' +
((__t = (heading)) == null ? '' : __t) +
'</legend>\n <label>' +
((__t = (label_password)) == null ? '' : __t) +
'</label>\n <input type="password" name="password"/>\n </fieldset>\n <fieldset>\n <input class="pure-button button-primary" type="submit" value="' +
((__t = (label_submit)) == null ? '' : __t) +
'"/>\n </fieldset>\n </form>\n</div>\n';
}
return __p
};
this["templates"]["chatroom_sidebar"] = function(obj) {
obj || (obj = {});
var __t, __p = '', __e = _.escape, __j = Array.prototype.join;
function print() { __p += __j.call(arguments, '') }
with (obj) {
__p += '<!-- <div class="occupants"> -->\n';
if (allow_muc_invitations) { ;
__p += '\n<form class="pure-form room-invite">\n <input class="invited-contact" placeholder="' +
((__t = (label_invitation)) == null ? '' : __t) +
'" type="text"/>\n</form>\n';
} ;
__p += '\n<p class="occupants-heading">' +
((__t = (label_occupants)) == null ? '' : __t) +
':</p>\n<ul class="occupant-list"></ul>\n<!-- </div> -->\n';
}
return __p
};
this["templates"]["chatrooms_tab"] = function(obj) {
obj || (obj = {});
var __t, __p = '', __e = _.escape;
with (obj) {
__p += '<li><a class="s" href="#chatrooms">' +
((__t = (label_rooms)) == null ? '' : __t) +
'</a></li>\n';
}
return __p
};
this["templates"]["chats_panel"] = function(obj) {
obj || (obj = {});
var __t, __p = '', __e = _.escape;
with (obj) {
__p += '<div id="minimized-chats">\n <a id="toggle-minimized-chats" href="#"></a>\n <div class="flyout minimized-chats-flyout"></div>\n</div>\n';
}
return __p
};
this["templates"]["choose_status"] = function(obj) {
obj || (obj = {});
var __t, __p = '', __e = _.escape;
with (obj) {
__p += '<dl id="target" class="dropdown">\n <dt id="fancy-xmpp-status-select" class="fancy-dropdown"></dt>\n <dd><ul class="xmpp-status-menu"></ul></dd>\n</dl>\n';
}
return __p
};
this["templates"]["contacts_panel"] = function(obj) {
obj || (obj = {});
var __t, __p = '', __e = _.escape, __j = Array.prototype.join;
function print() { __p += __j.call(arguments, '') }
with (obj) {
__p += '<form class="pure-form set-xmpp-status" action="" method="post">\n <span id="xmpp-status-holder">\n <select id="select-xmpp-status" style="display:none">\n <option value="online">' +
((__t = (label_online)) == null ? '' : __t) +
'</option>\n <option value="dnd">' +
((__t = (label_busy)) == null ? '' : __t) +
'</option>\n <option value="away">' +
((__t = (label_away)) == null ? '' : __t) +
'</option>\n ';
if (include_offline_state) { ;
__p += '\n <option value="offline">' +
((__t = (label_offline)) == null ? '' : __t) +
'</option>\n ';
} ;
__p += '\n ';
if (allow_logout) { ;
__p += '\n <option value="logout">' +
((__t = (label_logout)) == null ? '' : __t) +
'</option>\n ';
} ;
__p += '\n </select>\n </span>\n</form>\n';
}
return __p
};
this["templates"]["contacts_tab"] = function(obj) {
obj || (obj = {});
var __t, __p = '', __e = _.escape;
with (obj) {
__p += '<li><a class="s current" href="#users">' +
((__t = (label_contacts)) == null ? '' : __t) +
'</a></li>\n';
}
return __p
};
this["templates"]["controlbox"] = function(obj) {
obj || (obj = {});
var __t, __p = '', __e = _.escape, __j = Array.prototype.join;
function print() { __p += __j.call(arguments, '') }
with (obj) {
__p += '<div class="flyout box-flyout">\n <div class="dragresize dragresize-top"></div>\n <div class="dragresize dragresize-topleft"></div>\n <div class="dragresize dragresize-left"></div>\n <div class="chat-head controlbox-head">\n <ul id="controlbox-tabs"></ul>\n ';
if (!sticky_controlbox) { ;
__p += '\n <a class="chatbox-btn close-chatbox-button icon-close"></a>\n ';
} ;
__p += '\n </div>\n <div class="controlbox-panes"></div>\n</div>\n';
}
return __p
};
this["templates"]["controlbox_toggle"] = function(obj) {
obj || (obj = {});
var __t, __p = '', __e = _.escape;
with (obj) {
__p += '<span class="conn-feedback">' +
((__t = (label_toggle)) == null ? '' : __t) +
'</span>\n<span style="display: none" id="online-count">(0)</span>\n';
}
return __p
};
this["templates"]["field"] = function(obj) {
obj || (obj = {});
var __t, __p = '', __e = _.escape, __j = Array.prototype.join;
function print() { __p += __j.call(arguments, '') }
with (obj) {
__p += '<field var="' +
((__t = (name)) == null ? '' : __t) +
'">';
if (_.isArray(value)) { ;
__p += '\n ';
_.each(value,function(arrayValue) { ;
__p += '<value>' +
((__t = (arrayValue)) == null ? '' : __t) +
'</value>';
}); ;
__p += '\n';
} else { ;
__p += '\n <value>' +
((__t = (value)) == null ? '' : __t) +
'</value>\n';
} ;
__p += '</field>\n';
}
return __p
};
this["templates"]["form_captcha"] = function(obj) {
obj || (obj = {});
var __t, __p = '', __e = _.escape, __j = Array.prototype.join;
function print() { __p += __j.call(arguments, '') }
with (obj) {
if (label) { ;
__p += '\n<label>\n ' +
((__t = (label)) == null ? '' : __t) +
'\n</label>\n';
} ;
__p += '\n<img src="data:' +
((__t = (type)) == null ? '' : __t) +
';base64,' +
((__t = (data)) == null ? '' : __t) +
'">\n<input name="' +
((__t = (name)) == null ? '' : __t) +
'" type="text" ';
if (required) { ;
__p += ' class="required" ';
} ;
__p += ' >\n\n\n';
}
return __p
};
this["templates"]["form_checkbox"] = function(obj) {
obj || (obj = {});
var __t, __p = '', __e = _.escape;
with (obj) {
__p += '<label>' +
((__t = (label)) == null ? '' : __t) +
'</label>\n<input name="' +
((__t = (name)) == null ? '' : __t) +
'" type="' +
((__t = (type)) == null ? '' : __t) +
'" ' +
((__t = (checked)) == null ? '' : __t) +
'>\n';
}
return __p
};
this["templates"]["form_input"] = function(obj) {
obj || (obj = {});
var __t, __p = '', __e = _.escape, __j = Array.prototype.join;
function print() { __p += __j.call(arguments, '') }
with (obj) {
if (label) { ;
__p += '\n<label>\n ' +
((__t = (label)) == null ? '' : __t) +
'\n</label>\n';
} ;
__p += '\n<input name="' +
((__t = (name)) == null ? '' : __t) +
'" type="' +
((__t = (type)) == null ? '' : __t) +
'" \n ';
if (value) { ;
__p += ' value="' +
((__t = (value)) == null ? '' : __t) +
'" ';
} ;
__p += '\n ';
if (required) { ;
__p += ' class="required" ';
} ;
__p += ' >\n';
}
return __p
};
this["templates"]["form_select"] = function(obj) {
obj || (obj = {});
var __t, __p = '', __e = _.escape, __j = Array.prototype.join;
function print() { __p += __j.call(arguments, '') }
with (obj) {
__p += '<label>' +
((__t = (label)) == null ? '' : __t) +
'</label>\n<select name="' +
((__t = (name)) == null ? '' : __t) +
'" ';
if (multiple) { ;
__p += ' multiple="multiple" ';
} ;
__p += '>' +
((__t = (options)) == null ? '' : __t) +
'</select>\n';
}
return __p
};
this["templates"]["form_textarea"] = function(obj) {
obj || (obj = {});
var __t, __p = '', __e = _.escape;
with (obj) {
__p += '<label class="label-ta">' +
((__t = (label)) == null ? '' : __t) +
'</label>\n<textarea name="' +
((__t = (name)) == null ? '' : __t) +
'">' +
((__t = (value)) == null ? '' : __t) +
'</textarea>\n';
}
return __p
};
this["templates"]["form_username"] = function(obj) {
obj || (obj = {});
var __t, __p = '', __e = _.escape, __j = Array.prototype.join;
function print() { __p += __j.call(arguments, '') }
with (obj) {
if (label) { ;
__p += '\n<label>\n ' +
((__t = (label)) == null ? '' : __t) +
'\n</label>\n';
} ;
__p += '\n<div class="input-group">\n <input name="' +
((__t = (name)) == null ? '' : __t) +
'" type="' +
((__t = (type)) == null ? '' : __t) +
'"\n ';
if (value) { ;
__p += ' value="' +
((__t = (value)) == null ? '' : __t) +
'" ';
} ;
__p += '\n ';
if (required) { ;
__p += ' class="required" ';
} ;
__p += ' />\n <span title="' +
((__t = (domain)) == null ? '' : __t) +
'">' +
((__t = (domain)) == null ? '' : __t) +
'</span>\n</div>\n';
}
return __p
};
this["templates"]["group_header"] = function(obj) {
obj || (obj = {});
var __t, __p = '', __e = _.escape;
with (obj) {
__p += '<a href="#" class="group-toggle icon-' +
((__t = (toggle_state)) == null ? '' : __t) +
'" title="' +
((__t = (desc_group_toggle)) == null ? '' : __t) +
'">' +
((__t = (label_group)) == null ? '' : __t) +
'</a>\n';
}
return __p
};
this["templates"]["info"] = function(obj) {
obj || (obj = {});
var __t, __p = '', __e = _.escape;
with (obj) {
__p += '<div class="chat-info">' +
((__t = (message)) == null ? '' : __t) +
'</div>\n';
}
return __p
};
this["templates"]["login_panel"] = function(obj) {
obj || (obj = {});
var __t, __p = '', __e = _.escape, __j = Array.prototype.join;
function print() { __p += __j.call(arguments, '') }
with (obj) {
__p += '<form class="pure-form pure-form-stacked converse-form" id="converse-login" method="post">\n ';
if (auto_login) { ;
__p += '\n <span class="spinner login-submit"/>\n ';
} ;
__p += '\n ';
if (!auto_login) { ;
__p += '\n ';
if (authentication == LOGIN || authentication == EXTERNAL) { ;
__p += '\n <label>' +
((__t = (label_username)) == null ? '' : __t) +
'</label>\n <input type="text" name="jid" placeholder="' +
((__t = (placeholder_username)) == null ? '' : __t) +
'">\n ';
if (authentication !== EXTERNAL) { ;
__p += '\n <label>' +
((__t = (label_password)) == null ? '' : __t) +
'</label>\n <input type="password" name="password" placeholder="' +
((__t = (placeholder_password)) == null ? '' : __t) +
'">\n ';
} ;
__p += '\n <input class="pure-button button-primary" type="submit" value="' +
((__t = (label_login)) == null ? '' : __t) +
'">\n <span class="conn-feedback"></span>\n ';
} ;
__p += '\n ';
if (authentication == ANONYMOUS) { ;
__p += '\n <input type="pure-button button-primary" class="submit login-anon" value="' +
((__t = (label_anon_login)) == null ? '' : __t) +
'"/>\n ';
} ;
__p += '\n ';
if (authentication == PREBIND) { ;
__p += '\n <p>Disconnected.</p>\n ';
} ;
__p += '\n ';
} ;
__p += '\n</form>\n';
}
return __p
};
this["templates"]["login_tab"] = function(obj) {
obj || (obj = {});
var __t, __p = '', __e = _.escape;
with (obj) {
__p += '<li><a class="current" href="#login-dialog">' +
((__t = (label_sign_in)) == null ? '' : __t) +
'</a></li>\n';
}
return __p
};
this["templates"]["message"] = function(obj) {
obj || (obj = {});
var __t, __p = '', __e = _.escape;
with (obj) {
__p += '<div class="chat-message ' +
((__t = (extra_classes)) == null ? '' : __t) +
'" data-isodate="' +
((__t = (isodate)) == null ? '' : __t) +
'" data-msgid="' +
((__t = (msgid)) == null ? '' : __t) +
'">\n <span class="chat-msg-author chat-msg-' +
((__t = (sender)) == null ? '' : __t) +
'">' +
((__t = (time)) == null ? '' : __t) +
' ' +
((__t = (username)) == null ? '' : __t) +
':&nbsp;</span>\n <span class="chat-msg-content">' +
((__t = (message)) == null ? '' : __t) +
'</span>\n</div>\n';
}
return __p
};
this["templates"]["new_day"] = function(obj) {
obj || (obj = {});
var __t, __p = '', __e = _.escape;
with (obj) {
__p += '<time class="chat-info chat-date" data-isodate="' +
((__t = (isodate)) == null ? '' : __t) +
'">' +
((__t = (datestring)) == null ? '' : __t) +
'</time>\n';
}
return __p
};
this["templates"]["occupant"] = function(obj) {
obj || (obj = {});
var __t, __p = '', __e = _.escape, __j = Array.prototype.join;
function print() { __p += __j.call(arguments, '') }
with (obj) {
__p += '<li class="' +
((__t = (role)) == null ? '' : __t) +
' occupant" id="' +
((__t = (id)) == null ? '' : __t) +
'"\n ';
if (role === "moderator") { ;
__p += '\n title="' +
((__t = (desc_moderator)) == null ? '' : __t) +
' ' +
((__t = (hint_occupant)) == null ? '' : __t) +
'"\n ';
} ;
__p += '\n ';
if (role === "occupant") { ;
__p += '\n title="' +
((__t = (desc_occupant)) == null ? '' : __t) +
' ' +
((__t = (hint_occupant)) == null ? '' : __t) +
'"\n ';
} ;
__p += '\n ';
if (role === "visitor") { ;
__p += '\n title="' +
((__t = (desc_visitor)) == null ? '' : __t) +
' ' +
((__t = (hint_occupant)) == null ? '' : __t) +
'"\n ';
} ;
__p += '>' +
((__t = (nick)) == null ? '' : __t) +
'</li>\n';
}
return __p
};
this["templates"]["pending_contact"] = function(obj) {
obj || (obj = {});
var __t, __p = '', __e = _.escape, __j = Array.prototype.join;
function print() { __p += __j.call(arguments, '') }
with (obj) {
if (allow_chat_pending_contacts) { ;
__p += '\n<a class="open-chat"href="#">\n';
} ;
__p += '\n<span class="pending-contact-name" title="Name: ' +
((__t = (fullname)) == null ? '' : __t) +
'\nJID: ' +
((__t = (jid)) == null ? '' : __t) +
'">' +
((__t = (fullname)) == null ? '' : __t) +
'</span> \n';
if (allow_chat_pending_contacts) { ;
__p += '\n</a>\n';
} ;
__p += '\n<a class="remove-xmpp-contact icon-remove" title="' +
((__t = (desc_remove)) == null ? '' : __t) +
'" href="#"></a>\n';
}
return __p
};
this["templates"]["pending_contacts"] = function(obj) {
obj || (obj = {});
var __t, __p = '', __e = _.escape;
with (obj) {
__p += '<dt class="roster-group" id="pending-xmpp-contacts"><a href="#" class="group-toggle icon-' +
((__t = (toggle_state)) == null ? '' : __t) +
'" title="' +
((__t = (desc_group_toggle)) == null ? '' : __t) +
'">' +
((__t = (label_pending_contacts)) == null ? '' : __t) +
'</a></dt>\n';
}
return __p
};
this["templates"]["register_panel"] = function(obj) {
obj || (obj = {});
var __t, __p = '', __e = _.escape;
with (obj) {
__p += '<form id="converse-register" class="pure-form converse-form">\n <span class="reg-feedback"></span>\n <label>' +
((__t = (label_domain)) == null ? '' : __t) +
'</label>\n <input type="text" name="domain" placeholder="' +
((__t = (domain_placeholder)) == null ? '' : __t) +
'">\n <p class="form-help">' +
((__t = (help_providers)) == null ? '' : __t) +
' <a href="' +
((__t = (href_providers)) == null ? '' : __t) +
'" class="url" target="_blank" rel="noopener">' +
((__t = (help_providers_link)) == null ? '' : __t) +
'</a>.</p>\n <input class="pure-button button-primary" type="submit" value="' +
((__t = (label_register)) == null ? '' : __t) +
'">\n</form>\n';
}
return __p
};
this["templates"]["register_tab"] = function(obj) {
obj || (obj = {});
var __t, __p = '', __e = _.escape;
with (obj) {
__p += '<li><a class="s" href="#register">' +
((__t = (label_register)) == null ? '' : __t) +
'</a></li>\n';
}
return __p
};
this["templates"]["registration_form"] = function(obj) {
obj || (obj = {});
var __t, __p = '', __e = _.escape;
with (obj) {
__p += '<p class="provider-title">' +
((__t = (domain)) == null ? '' : __t) +
'</p>\n<a href=\'https://xmpp.net/result.php?domain=' +
((__t = (domain)) == null ? '' : __t) +
'&amp;type=client\'>\n <img class="provider-score" src=\'https://xmpp.net/badge.php?domain=' +
((__t = (domain)) == null ? '' : __t) +
'\' alt=\'xmpp.net score\' />\n</a>\n<p class="title">' +
((__t = (title)) == null ? '' : __t) +
'</p>\n<p class="instructions">' +
((__t = (instructions)) == null ? '' : __t) +
'</p>\n';
}
return __p
};
this["templates"]["registration_request"] = function(obj) {
obj || (obj = {});
var __t, __p = '', __e = _.escape;
with (obj) {
__p += '<span class="spinner login-submit"/>\n<p class="info">' +
((__t = (info_message)) == null ? '' : __t) +
'</p>\n<button class="pure-button button-cancel hor_centered">' +
((__t = (cancel)) == null ? '' : __t) +
'</button>\n';
}
return __p
};
this["templates"]["requesting_contact"] = function(obj) {
obj || (obj = {});
var __t, __p = '', __e = _.escape, __j = Array.prototype.join;
function print() { __p += __j.call(arguments, '') }
with (obj) {
if (allow_chat_pending_contacts) { ;
__p += '\n<a class="open-chat"href="#">\n';
} ;
__p += '\n<span class="req-contact-name" title="Name: ' +
((__t = (fullname)) == null ? '' : __t) +
'\nJID: ' +
((__t = (jid)) == null ? '' : __t) +
'">' +
((__t = (fullname)) == null ? '' : __t) +
'</span>\n';
if (allow_chat_pending_contacts) { ;
__p += '\n</a>\n';
} ;
__p += '\n<span class="request-actions">\n <a class="accept-xmpp-request icon-checkmark" title="' +
((__t = (desc_accept)) == null ? '' : __t) +
'" href="#"></a>\n <a class="decline-xmpp-request icon-close" title="' +
((__t = (desc_decline)) == null ? '' : __t) +
'" href="#"></a>\n</span>\n';
}
return __p
};
this["templates"]["requesting_contacts"] = function(obj) {
obj || (obj = {});
var __t, __p = '', __e = _.escape;
with (obj) {
__p += '<dt class="roster-group" id="xmpp-contact-requests"><a href="#" class="group-toggle icon-' +
((__t = (toggle_state)) == null ? '' : __t) +
'" title="' +
((__t = (desc_group_toggle)) == null ? '' : __t) +
'">' +
((__t = (label_contact_requests)) == null ? '' : __t) +
'</a></dt>\n';
}
return __p
};
this["templates"]["room_description"] = function(obj) {
obj || (obj = {});
var __t, __p = '', __e = _.escape, __j = Array.prototype.join;
function print() { __p += __j.call(arguments, '') }
with (obj) {
__p += '<!-- FIXME: check markup in mockup -->\n<div class="room-info">\n<p class="room-info"><strong>' +
((__t = (label_desc)) == null ? '' : __t) +
'</strong> ' +
((__t = (desc)) == null ? '' : __t) +
'</p>\n<p class="room-info"><strong>' +
((__t = (label_occ)) == null ? '' : __t) +
'</strong> ' +
((__t = (occ)) == null ? '' : __t) +
'</p>\n<p class="room-info"><strong>' +
((__t = (label_features)) == null ? '' : __t) +
'</strong>\n <ul>\n ';
if (passwordprotected) { ;
__p += '\n <li class="room-info locked">' +
((__t = (label_requires_auth)) == null ? '' : __t) +
'</li>\n ';
} ;
__p += '\n ';
if (hidden) { ;
__p += '\n <li class="room-info">' +
((__t = (label_hidden)) == null ? '' : __t) +
'</li>\n ';
} ;
__p += '\n ';
if (membersonly) { ;
__p += '\n <li class="room-info">' +
((__t = (label_requires_invite)) == null ? '' : __t) +
'</li>\n ';
} ;
__p += '\n ';
if (moderated) { ;
__p += '\n <li class="room-info">' +
((__t = (label_moderated)) == null ? '' : __t) +
'</li>\n ';
} ;
__p += '\n ';
if (nonanonymous) { ;
__p += '\n <li class="room-info">' +
((__t = (label_non_anon)) == null ? '' : __t) +
'</li>\n ';
} ;
__p += '\n ';
if (open) { ;
__p += '\n <li class="room-info">' +
((__t = (label_open_room)) == null ? '' : __t) +
'</li>\n ';
} ;
__p += '\n ';
if (persistent) { ;
__p += '\n <li class="room-info">' +
((__t = (label_permanent_room)) == null ? '' : __t) +
'</li>\n ';
} ;
__p += '\n ';
if (publicroom) { ;
__p += '\n <li class="room-info">' +
((__t = (label_public)) == null ? '' : __t) +
'</li>\n ';
} ;
__p += '\n ';
if (semianonymous) { ;
__p += '\n <li class="room-info">' +
((__t = (label_semi_anon)) == null ? '' : __t) +
'</li>\n ';
} ;
__p += '\n ';
if (temporary) { ;
__p += '\n <li class="room-info">' +
((__t = (label_temp_room)) == null ? '' : __t) +
'</li>\n ';
} ;
__p += '\n ';
if (unmoderated) { ;
__p += '\n <li class="room-info">' +
((__t = (label_unmoderated)) == null ? '' : __t) +
'</li>\n ';
} ;
__p += '\n </ul>\n</p>\n</div>\n';
}
return __p
};
this["templates"]["room_item"] = function(obj) {
obj || (obj = {});
var __t, __p = '', __e = _.escape;
with (obj) {
__p += '<dd class="available-chatroom">\n<a class="open-room" data-room-jid="' +
((__t = (jid)) == null ? '' : __t) +
'"\n title="' +
((__t = (open_title)) == null ? '' : __t) +
'" href="#">' +
((__t = (_.escape(name))) == null ? '' : __t) +
'</a>\n<a class="room-info icon-room-info" data-room-jid="' +
((__t = (jid)) == null ? '' : __t) +
'"\n title="' +
((__t = (info_title)) == null ? '' : __t) +
'" href="#">&nbsp;</a>\n</dd>\n';
}
return __p
};
this["templates"]["room_panel"] = function(obj) {
obj || (obj = {});
var __t, __p = '', __e = _.escape, __j = Array.prototype.join;
function print() { __p += __j.call(arguments, '') }
with (obj) {
__p += '<form class="pure-form pure-form-stacked converse-form add-chatroom" action="" method="post">\n <fieldset>\n <label>' +
((__t = (label_room_name)) == null ? '' : __t) +
'</label>\n <input type="text" name="chatroom" class="new-chatroom-name" placeholder="' +
((__t = (label_room_name)) == null ? '' : __t) +
'"/>\n ';
if (server_input_type != 'hidden') { ;
__p += '\n <label' +
((__t = (server_label_global_attr)) == null ? '' : __t) +
'>' +
((__t = (label_server)) == null ? '' : __t) +
'</label>\n ';
} ;
__p += '\n <input type="' +
((__t = (server_input_type)) == null ? '' : __t) +
'" name="server" class="new-chatroom-server" placeholder="' +
((__t = (label_server)) == null ? '' : __t) +
'"/>\n <input type="submit" class="pure-button button-primary" name="join" value="' +
((__t = (label_join)) == null ? '' : __t) +
'"/>\n <input type="button" class="pure-button button-secondary" name="show" id="show-rooms" value="' +
((__t = (label_show_rooms)) == null ? '' : __t) +
'"/>\n </fieldset>\n</form>\n<dl id="available-chatrooms"></dl>\n';
}
return __p
};
this["templates"]["roster"] = function(obj) {
obj || (obj = {});
var __t, __p = '', __e = _.escape, __j = Array.prototype.join;
function print() { __p += __j.call(arguments, '') }
with (obj) {
__p += '<form class="pure-form roster-filter-group input-button-group">\n <input value="' +
((__t = (filter_text)) == null ? '' : __t) +
'" class="roster-filter"\n placeholder="' +
((__t = (placeholder)) == null ? '' : __t) +
'"\n ';
if (filter_type === 'state') { ;
__p += ' style="display: none" ';
} ;
__p += ' >\n <select class="state-type" ';
if (filter_type !== 'state') { ;
__p += ' style="display: none" ';
} ;
__p += ' >\n <option value="">' +
((__t = (label_any)) == null ? '' : __t) +
'</option>\n <option ';
if (chat_state === 'online') { ;
__p += ' selected="selected" ';
} ;
__p += '\n value="online">' +
((__t = (label_online)) == null ? '' : __t) +
'</option>\n <option ';
if (chat_state === 'chat') { ;
__p += ' selected="selected" ';
} ;
__p += '\n value="chat">' +
((__t = (label_chatty)) == null ? '' : __t) +
'</option>\n <option ';
if (chat_state === 'dnd') { ;
__p += ' selected="selected" ';
} ;
__p += '\n value="dnd">' +
((__t = (label_busy)) == null ? '' : __t) +
'</option>\n <option ';
if (chat_state === 'away') { ;
__p += ' selected="selected" ';
} ;
__p += '\n value="away">' +
((__t = (label_away)) == null ? '' : __t) +
'</option>\n <option ';
if (chat_state === 'xa') { ;
__p += ' selected="selected" ';
} ;
__p += '\n value="xa">' +
((__t = (label_xa)) == null ? '' : __t) +
'</option>\n <option ';
if (chat_state === 'offline') { ;
__p += ' selected="selected" ';
} ;
__p += '\n value="offline">' +
((__t = (label_offline)) == null ? '' : __t) +
'</option>\n </select>\n <select class="filter-type">\n <option ';
if (filter_type === 'contacts') { ;
__p += ' selected="selected" ';
} ;
__p += '\n value="contacts">' +
((__t = (label_contacts)) == null ? '' : __t) +
'</option>\n <option ';
if (filter_type === 'groups') { ;
__p += ' selected="selected" ';
} ;
__p += '\n value="groups">' +
((__t = (label_groups)) == null ? '' : __t) +
'</option>\n <option ';
if (filter_type === 'state') { ;
__p += ' selected="selected" ';
} ;
__p += '\n value="state">' +
((__t = (label_state)) == null ? '' : __t) +
'</option>\n </select>\n</form>\n';
}
return __p
};
this["templates"]["roster_item"] = function(obj) {
obj || (obj = {});
var __t, __p = '', __e = _.escape, __j = Array.prototype.join;
function print() { __p += __j.call(arguments, '') }
with (obj) {
__p += '<a class="open-chat" title="' +
((__t = (title_fullname)) == null ? '' : __t) +
': ' +
((__t = (fullname)) == null ? '' : __t) +
'\nJID: ' +
((__t = (jid)) == null ? '' : __t) +
'\n' +
((__t = (desc_chat)) == null ? '' : __t) +
'" href="#"><span class="icon-' +
((__t = (chat_status)) == null ? '' : __t) +
'" title="' +
((__t = (desc_status)) == null ? '' : __t) +
'"></span>' +
((__t = (fullname)) == null ? '' : __t) +
'</a>\n';
if (allow_contact_removal) { ;
__p += '\n<a class="remove-xmpp-contact icon-remove" title="' +
((__t = (desc_remove)) == null ? '' : __t) +
'" href="#"></a>\n';
} ;
__p += '\n';
}
return __p
};
this["templates"]["search_contact"] = function(obj) {
obj || (obj = {});
var __t, __p = '', __e = _.escape;
with (obj) {
__p += '<li>\n <form class="search-xmpp-contact">\n <input type="text"\n name="identifier"\n class="username"\n placeholder="' +
((__t = (label_contact_name)) == null ? '' : __t) +
'"/>\n <button type="submit">' +
((__t = (label_search)) == null ? '' : __t) +
'</button>\n </form>\n</li>\n';
}
return __p
};
this["templates"]["select_option"] = function(obj) {
obj || (obj = {});
var __t, __p = '', __e = _.escape, __j = Array.prototype.join;
function print() { __p += __j.call(arguments, '') }
with (obj) {
__p += '<option value="' +
((__t = (value)) == null ? '' : __t) +
'" ';
if (selected) { ;
__p += ' selected="selected" ';
} ;
__p += ' >' +
((__t = (label)) == null ? '' : __t) +
'</option>\n';
}
return __p
};
this["templates"]["status_option"] = function(obj) {
obj || (obj = {});
var __t, __p = '', __e = _.escape;
with (obj) {
__p += '<li>\n <a href="#" class="' +
((__t = ( value )) == null ? '' : __t) +
'" data-value="' +
((__t = ( value )) == null ? '' : __t) +
'">\n <span class="icon-' +
((__t = ( value )) == null ? '' : __t) +
'"></span>\n ' +
((__t = ( text )) == null ? '' : __t) +
'\n </a>\n</li>\n';
}
return __p
};
this["templates"]["toggle_chats"] = function(obj) {
obj || (obj = {});
var __t, __p = '', __e = _.escape, __j = Array.prototype.join;
function print() { __p += __j.call(arguments, '') }
with (obj) {
__p +=
((__t = (Minimized)) == null ? '' : __t) +
' <span id="minimized-count">(' +
((__t = (num_minimized)) == null ? '' : __t) +
')</span>\n<span class="unread-message-count"\n ';
if (!num_unread) { ;
__p += ' style="display: none" ';
} ;
__p += '\n href="#">' +
((__t = (num_unread)) == null ? '' : __t) +
'</span>\n';
}
return __p
};
this["templates"]["toolbar"] = function(obj) {
obj || (obj = {});
var __t, __p = '', __e = _.escape, __j = Array.prototype.join;
function print() { __p += __j.call(arguments, '') }
with (obj) {
if (show_emoticons) { ;
__p += '\n <li class="toggle-smiley icon-happy" title="' +
((__t = (label_insert_smiley)) == null ? '' : __t) +
'">\n <ul>\n <li><a class="icon-smiley" href="#" data-emoticon=":)"></a></li>\n <li><a class="icon-wink" href="#" data-emoticon=";)"></a></li>\n <li><a class="icon-grin" href="#" data-emoticon=":D"></a></li>\n <li><a class="icon-tongue" href="#" data-emoticon=":P"></a></li>\n <li><a class="icon-cool" href="#" data-emoticon="8)"></a></li>\n <li><a class="icon-evil" href="#" data-emoticon=">:)"></a></li>\n <li><a class="icon-confused" href="#" data-emoticon=":S"></a></li>\n <li><a class="icon-wondering" href="#" data-emoticon=":\\"></a></li>\n <li><a class="icon-angry" href="#" data-emoticon=">:("></a></li>\n <li><a class="icon-sad" href="#" data-emoticon=":("></a></li>\n <li><a class="icon-shocked" href="#" data-emoticon=":O"></a></li>\n <li><a class="icon-thumbs-up" href="#" data-emoticon="(^.^)b"></a></li>\n <li><a class="icon-heart" href="#" data-emoticon="<3"></a></li>\n </ul>\n </li>\n';
} ;
__p += '\n';
if (show_call_button) { ;
__p += '\n<li class="toggle-call"><a class="icon-phone" title="' +
((__t = (label_start_call)) == null ? '' : __t) +
'"></a></li>\n';
} ;
__p += '\n';
if (show_occupants_toggle) { ;
__p += '\n<li class="toggle-occupants"><a class="icon-hide-users" title="' +
((__t = (label_hide_occupants)) == null ? '' : __t) +
'"></a></li>\n';
} ;
__p += '\n';
if (show_clear_button) { ;
__p += '\n<li class="toggle-clear"><a class="icon-remove" title="' +
((__t = (label_clear)) == null ? '' : __t) +
'"></a></li>\n';
} ;
__p += '\n';
}
return __p
};
this["templates"]["toolbar_otr"] = function(obj) {
obj || (obj = {});
var __t, __p = '', __e = _.escape, __j = Array.prototype.join;
function print() { __p += __j.call(arguments, '') }
with (obj) {
if (allow_otr) { ;
__p += '\n <li class="toggle-otr ' +
((__t = (otr_status_class)) == null ? '' : __t) +
'" title="' +
((__t = (otr_tooltip)) == null ? '' : __t) +
'">\n <span class="chat-toolbar-text">' +
((__t = (otr_translated_status)) == null ? '' : __t) +
'</span>\n ';
if (otr_status == UNENCRYPTED) { ;
__p += '\n <span class="icon-unlocked"></span>\n ';
} ;
__p += '\n ';
if (otr_status == UNVERIFIED) { ;
__p += '\n <span class="icon-lock"></span>\n ';
} ;
__p += '\n ';
if (otr_status == VERIFIED) { ;
__p += '\n <span class="icon-lock"></span>\n ';
} ;
__p += '\n ';
if (otr_status == FINISHED) { ;
__p += '\n <span class="icon-unlocked"></span>\n ';
} ;
__p += '\n <ul>\n ';
if (otr_status == UNENCRYPTED) { ;
__p += '\n <li><a class="start-otr" href="#">' +
((__t = (label_start_encrypted_conversation)) == null ? '' : __t) +
'</a></li>\n ';
} ;
__p += '\n ';
if (otr_status != UNENCRYPTED) { ;
__p += '\n <li><a class="start-otr" href="#">' +
((__t = (label_refresh_encrypted_conversation)) == null ? '' : __t) +
'</a></li>\n <li><a class="end-otr" href="#">' +
((__t = (label_end_encrypted_conversation)) == null ? '' : __t) +
'</a></li>\n <li><a class="auth-otr" data-scheme="smp" href="#">' +
((__t = (label_verify_with_smp)) == null ? '' : __t) +
'</a></li>\n ';
} ;
__p += '\n ';
if (otr_status == UNVERIFIED) { ;
__p += '\n <li><a class="auth-otr" data-scheme="fingerprint" href="#">' +
((__t = (label_verify_with_fingerprints)) == null ? '' : __t) +
'</a></li>\n ';
} ;
__p += '\n <li><a href="http://www.cypherpunks.ca/otr/help/3.2.0/levels.php" target="_blank" rel="noopener">' +
((__t = (label_whats_this)) == null ? '' : __t) +
'</a></li>\n </ul>\n </li>\n';
} ;
__p += '\n';
}
return __p
};
this["templates"]["trimmed_chat"] = function(obj) {
obj || (obj = {});
var __t, __p = '', __e = _.escape, __j = Array.prototype.join;
function print() { __p += __j.call(arguments, '') }
with (obj) {
__p += '<a class="chatbox-btn close-chatbox-button icon-close"></a>\n<a class="chat-head-message-count" \n ';
if (!num_unread) { ;
__p += ' style="display: none" ';
} ;
__p += '\n href="#">' +
((__t = (num_unread)) == null ? '' : __t) +
'</a>\n<a href="#" class="restore-chat" title="' +
((__t = (tooltip)) == null ? '' : __t) +
'">\n ' +
((__t = ( title )) == null ? '' : __t) +
'\n</a>\n';
}
return __p
};
this["templates"]["vcard"] = function(obj) {
obj || (obj = {});
var __t, __p = '', __e = _.escape;
with (obj) {
__p += '<form class="pure-form converse-form vcard-info">\n <fieldset>\n <legend>The VCard info gets rendered here</legend>\n <label>Full name:</label>\n ' +
((__t = (fullname)) == null ? '' : __t) +
'\n <label>URL:</label>\n ' +
((__t = (url)) == null ? '' : __t) +
'\n </fieldset>\n <fieldset>\n <input type="button" class="pure-button button-cancel" value="' +
((__t = (label_return)) == null ? '' : __t) +
'"/>\n </fieldset>\n</form>\n';
}
return __p
};
\ No newline at end of file
......@@ -5,6 +5,7 @@
listeners with `converse.listen.on` and `converse.listen.once`. [jcbrand]
- New event ['rosterContactsFetched'](https://conversejs.org/docs/html/development.html#rosterContactsFetched) [jcbrand]
- New event ['rosterGroupsFetched'](https://conversejs.org/docs/html/development.html#rosterGroupsFetched) [jcbrand]
- HTML templates are now loaded in the respective modules/plugins. [jcbrand]
## 2.0.0 (2016-09-16)
- #656 Online users count not shown initially [amanzur]
......
......@@ -23,38 +23,41 @@ Creating builds
Creating builds and distribution files
======================================
We use `require.js <http://requirejs.org>`_ to keep track of *Converse.js* and
its dependencies and to to bundle them together in a single file fit for
deployment to a production site.
Converse.js uses `AMD (Asynchronous Modules Definition) <http://requirejs.org/docs/whyamd.html#amd>`_
to define modules and their dependencies.
To create the distributable bundles, simply run::
Dependencies can then be loaded on-the-fly with `require.js <http://requirejs.org>`_.
This is very useful during development, but when it comes to
deployement, it's usually desired to create a single, minified distribution build.
For this, the `r.js optimizer <http://requirejs.org/docs/optimization.html>`_
is used together with `almond.js <https://github.com/requirejs/almond>`_, which
is a minimal AMD API implementation that replaces require.js in builds (in
order to keep the build smaller).
To create the distribution build, simply run::
make dist
This command does the following:
* It creates different Javascript bundles of Converse.js.
The individual javascript files will be bundled and minified with `require.js`_'s
optimization tool, using `almond <https://github.com/jrburke/almond>`_.
You can `read more about require.js's optimizer here <http://requirejs.org/docs/optimization.html>`_.
* It bundles the HTML templates in ``./src/templates/`` into a single file called ``templates.js``.
This file can then be included via the ``<script>`` tag. See for example the ``non_amd.html`` example page.
* It creates different builds of Converse.js in the ``./dist/`` directory.
* It bundles all the translation files in ``./locale/`` into a single file ``locales.js``.
This file can then be included via the ``<script>`` tag. See for example the ``non_amd.html`` example page.
* Also, the CSS files in the ``./css`` directory will be minified.
The built Javasript bundles are contained in the ``./dist`` directory:
The Javascript build files are contained in the ``./dist`` directory:
.. code-block:: bash
jc@conversejs:~/converse.js (master)$ ls dist/
converse.js converse-no-dependencies.js
converse.min.js converse-no-dependencies.min.js
converse.nojquery.js locales.js
converse.nojquery.min.js templates.js
converse-mobile.js converse.min.js
converse-mobile.min.js converse.nojquery.js
converse-no-dependencies.js converse.nojquery.min.js
converse-no-dependencies.min.js locales.js
converse.js
.. _`minification`:
......
......@@ -14,31 +14,31 @@
<link type="text/css" rel="stylesheet" media="screen" href="css/converse.css" />
<!-- BEGIN JQUERY -->
<script type="text/javascript" src="components/jquery/dist/jquery.js"></script>
<script type="text/javascript" src="components/jquery.browser/dist/jquery.browser.js"></script>
<script type="text/javascript" src="node_modules/jquery/dist/jquery.js"></script>
<script type="text/javascript" src="node_modules/jquery.browser/dist/jquery.browser.js"></script>
<script type="text/javascript" src="components/typeahead.js/index.js"></script>
<!-- END JQUERY -->
<!-- BEGIN OTR: Off-the-record encryption stuff. Can be omitted if OTR is not used. -->
<script type="text/javascript" src="components/otr/build/dep/salsa20.js"></script>
<script type="text/javascript" src="node_modules/otr/build/dep/salsa20.js"></script>
<script type="text/javascript" src="src/bigint.js"></script>
<script type="text/javascript" src="components/otr/vendor/cryptojs/core.js"></script>
<script type="text/javascript" src="components/otr/vendor/cryptojs/enc-base64.js"></script>
<script type="text/javascript" src="node_modules/otr/vendor/cryptojs/core.js"></script>
<script type="text/javascript" src="node_modules/otr/vendor/cryptojs/enc-base64.js"></script>
<script type="text/javascript" src="components/crypto-js-evanvosberg/src/md5.js"></script>
<script type="text/javascript" src="components/crypto-js-evanvosberg/src/evpkdf.js"></script>
<script type="text/javascript" src="components/otr/vendor/cryptojs/cipher-core.js"></script>
<script type="text/javascript" src="components/otr/vendor/cryptojs/aes.js"></script>
<script type="text/javascript" src="components/otr/vendor/cryptojs/sha1.js"></script>
<script type="text/javascript" src="components/otr/vendor/cryptojs/sha256.js"></script>
<script type="text/javascript" src="components/otr/vendor/cryptojs/hmac.js"></script>
<script type="text/javascript" src="components/otr/vendor/cryptojs/pad-nopadding.js"></script>
<script type="text/javascript" src="components/otr/vendor/cryptojs/mode-ctr.js"></script>
<script type="text/javascript" src="components/otr/build/dep/eventemitter.js"></script>
<script type="text/javascript" src="node_modules/otr/vendor/cryptojs/cipher-core.js"></script>
<script type="text/javascript" src="node_modules/otr/vendor/cryptojs/aes.js"></script>
<script type="text/javascript" src="node_modules/otr/vendor/cryptojs/sha1.js"></script>
<script type="text/javascript" src="node_modules/otr/vendor/cryptojs/sha256.js"></script>
<script type="text/javascript" src="node_modules/otr/vendor/cryptojs/hmac.js"></script>
<script type="text/javascript" src="node_modules/otr/vendor/cryptojs/pad-nopadding.js"></script>
<script type="text/javascript" src="node_modules/otr/vendor/cryptojs/mode-ctr.js"></script>
<script type="text/javascript" src="node_modules/otr/build/dep/eventemitter.js"></script>
<script type="text/javascript" src="src/otr.js"></script>
<!-- END OTR -->
<!-- BEGIN STROPHE -->
<script type="text/javascript" src="components/strophejs/strophe.js"></script>
<script type="text/javascript" src="node_modules/strophe.js/strophe.js"></script>
<script type="text/javascript" src="components/strophejs-plugins/vcard/strophe.vcard.js"></script>
<script type="text/javascript" src="components/strophejs-plugins/disco/strophe.disco.js"></script>
<script type="text/javascript" src="components/strophejs-plugins/rsm/strophe.rsm.js"></script>
......@@ -46,10 +46,10 @@
<!-- END STROPHE -->
<!-- BEGIN BACKBONE -->
<script type="text/javascript" src="components/underscore/underscore.js"></script>
<script type="text/javascript" src="components/backbone//backbone.js"></script>
<script type="text/javascript" src="components/backbone.browserStorage/backbone.browserStorage.js"></script>
<script type="text/javascript" src="components/backbone.overview/backbone.overview.js"></script>
<script type="text/javascript" src="node_modules/underscore/underscore.js"></script>
<script type="text/javascript" src="node_modules/backbone//backbone.js"></script>
<script type="text/javascript" src="node_modules/backbone.browserStorage/backbone.browserStorage.js"></script>
<script type="text/javascript" src="node_modules/backbone.overview/backbone.overview.js"></script>
<!-- END BACKBONE -->
<!-- BEGIN I18N -->
......@@ -59,11 +59,11 @@
src/locales.js to remove those you don't need, and then run `make
build` to generates a new dist/locales.js file.
-->
<script type="text/javascript" src="components/jed/jed.js"></script>
<script type="text/javascript" src="node_modules/jed/jed.js"></script>
<script type="text/javascript" src="dist/locales.js"></script>
<!-- END I18N -->
<script type="text/javascript" src="components/momentjs/min/moment-with-locales.js"></script>
<script type="text/javascript" src="node_modules/moment/min/moment-with-locales.js"></script>
<script type="text/javascript" src="dist/converse-no-dependencies.js"></script>
</head>
<body id="page-top" data-spy="scroll" data-target=".navbar-custom">
......
......@@ -7,9 +7,31 @@
/*global Backbone, define */
(function (root, factory) {
define("converse-chatview", ["converse-core", "converse-api"], factory);
}(this, function (converse, converse_api) {
define("converse-chatview", [
"converse-core",
"converse-api",
"tpl!chatbox",
"tpl!new_day",
"tpl!action",
"tpl!message",
"tpl!toolbar"
], factory);
}(this, function (
converse,
converse_api,
tpl_chatbox,
tpl_new_day,
tpl_action,
tpl_message,
tpl_toolbar
) {
"use strict";
converse.templates.chatbox = tpl_chatbox;
converse.templates.new_day = tpl_new_day;
converse.templates.action = tpl_action;
converse.templates.message = tpl_message;
converse.templates.toolbar = tpl_toolbar;
var $ = converse_api.env.jQuery,
utils = converse_api.env.utils,
Strophe = converse_api.env.Strophe,
......
......@@ -10,12 +10,54 @@
define("converse-controlbox", [
"converse-core",
"converse-api",
// TODO: The next two dependencies can be made optional
"converse-rosterview",
"converse-chatview"
"tpl!add_contact_dropdown",
"tpl!add_contact_form",
"tpl!change_status_message",
"tpl!chat_status",
"tpl!choose_status",
"tpl!contacts_panel",
"tpl!contacts_tab",
"tpl!controlbox",
"tpl!controlbox_toggle",
"tpl!login_panel",
"tpl!login_tab",
"tpl!search_contact",
"tpl!status_option",
"converse-chatview",
"converse-rosterview"
], factory);
}(this, function (converse, converse_api) {
}(this, function (
converse,
converse_api,
tpl_add_contact_dropdown,
tpl_add_contact_form,
tpl_change_status_message,
tpl_chat_status,
tpl_choose_status,
tpl_contacts_panel,
tpl_contacts_tab,
tpl_controlbox,
tpl_controlbox_toggle,
tpl_login_panel,
tpl_login_tab,
tpl_search_contact,
tpl_status_option
) {
"use strict";
converse.templates.add_contact_dropdown = tpl_add_contact_dropdown;
converse.templates.add_contact_form = tpl_add_contact_form;
converse.templates.change_status_message = tpl_change_status_message;
converse.templates.chat_status = tpl_chat_status;
converse.templates.choose_status = tpl_choose_status;
converse.templates.contacts_panel = tpl_contacts_panel;
converse.templates.contacts_tab = tpl_contacts_tab;
converse.templates.controlbox = tpl_controlbox;
converse.templates.controlbox_toggle = tpl_controlbox_toggle;
converse.templates.login_panel = tpl_login_panel;
converse.templates.login_tab = tpl_login_tab;
converse.templates.search_contact = tpl_search_contact;
converse.templates.status_option = tpl_status_option;
// Strophe methods for building stanzas
var Strophe = converse_api.env.Strophe,
utils = converse_api.env.utils;
......
......@@ -22,13 +22,16 @@
"utils",
"moment_with_locales",
"strophe",
"converse-templates",
"pluggable",
"tpl!chats_panel",
"strophe.disco",
"backbone.browserStorage",
"backbone.overview",
], factory);
}(this, function ($, _, dummy, utils, moment, Strophe, templates, pluggable) {
}(this, function (
$, _, dummy, utils, moment,
Strophe, pluggable, tpl_chats_panel
) {
/*
* Cannot use this due to Safari bug.
* See https://github.com/jcbrand/converse.js/issues/196
......@@ -59,7 +62,7 @@
var event_context = {};
var converse = {
templates: templates,
templates: {'chats_panel': tpl_chats_panel},
emit: function (evt, data) {
$(event_context).trigger(evt, data);
......
......@@ -10,12 +10,25 @@
define("converse-minimize", [
"converse-core",
"converse-api",
"tpl!chatbox_minimize",
"tpl!toggle_chats",
"tpl!trimmed_chat",
"converse-controlbox",
"converse-chatview",
"converse-muc"
], factory);
}(this, function (converse, converse_api) {
}(this, function (
converse,
converse_api,
tpl_chatbox_minimize,
tpl_toggle_chats,
tpl_trimmed_chat
) {
"use strict";
converse.templates.chatbox_minimize = tpl_chatbox_minimize;
converse.templates.toggle_chats = tpl_toggle_chats;
converse.templates.trimmed_chat = tpl_trimmed_chat;
var $ = converse_api.env.jQuery,
_ = converse_api.env._,
b64_sha1 = converse_api.env.b64_sha1,
......
......@@ -13,11 +13,51 @@
define("converse-muc", [
"converse-core",
"converse-api",
"tpl!chatarea",
"tpl!chatroom",
"tpl!chatroom_form",
"tpl!chatroom_nickname_form",
"tpl!chatroom_password_form",
"tpl!chatroom_sidebar",
"tpl!chatrooms_tab",
"tpl!info",
"tpl!occupant",
"tpl!room_description",
"tpl!room_item",
"tpl!room_panel",
"typeahead",
"converse-chatview"
], factory);
}(this, function (converse, converse_api) {
}(this, function (
converse,
converse_api,
tpl_chatarea,
tpl_chatroom,
tpl_chatroom_form,
tpl_chatroom_nickname_form,
tpl_chatroom_password_form,
tpl_chatroom_sidebar,
tpl_chatrooms_tab,
tpl_info,
tpl_occupant,
tpl_room_description,
tpl_room_item,
tpl_room_panel
) {
"use strict";
converse.templates.chatarea = tpl_chatarea;
converse.templates.chatroom = tpl_chatroom;
converse.templates.chatroom_form = tpl_chatroom_form;
converse.templates.chatroom_nickname_form = tpl_chatroom_nickname_form;
converse.templates.chatroom_password_form = tpl_chatroom_password_form;
converse.templates.chatroom_sidebar = tpl_chatroom_sidebar;
converse.templates.chatrooms_tab = tpl_chatrooms_tab;
converse.templates.info = tpl_info;
converse.templates.occupant = tpl_occupant;
converse.templates.room_description = tpl_room_description;
converse.templates.room_item = tpl_room_item;
converse.templates.room_panel = tpl_room_panel;
// Strophe methods for building stanzas
var Strophe = converse_api.env.Strophe,
$iq = converse_api.env.$iq,
......
......@@ -13,10 +13,12 @@
define("converse-otr", [
"otr",
"converse-core",
"converse-api"
"converse-api",
"tpl!toolbar_otr"
], factory);
}(this, function (otr, converse, converse_api) {
}(this, function (otr, converse, converse_api, tpl_toolbar_otr) {
"use strict";
converse.templates.toolbar_otr = tpl_toolbar_otr;
// Strophe methods for building stanzas
var Strophe = converse_api.env.Strophe,
utils = converse_api.env.utils,
......
......@@ -13,10 +13,29 @@
define("converse-register", [
"converse-core",
"converse-api",
"tpl!form_username",
"tpl!register_panel",
"tpl!register_tab",
"tpl!registration_form",
"tpl!registration_request",
"converse-controlbox"
], factory);
}(this, function (converse, converse_api) {
}(this, function (
converse,
converse_api,
tpl_form_username,
tpl_register_panel,
tpl_register_tab,
tpl_registration_form,
tpl_registration_request) {
"use strict";
converse.templates.form_username = tpl_form_username;
converse.templates.register_panel = tpl_register_panel;
converse.templates.register_tab = tpl_register_tab;
converse.templates.registration_form = tpl_registration_form;
converse.templates.registration_request = tpl_registration_request;
// Strophe methods for building stanzas
var Strophe = converse_api.env.Strophe,
utils = converse_api.env.utils,
......
......@@ -7,9 +7,30 @@
/*global Backbone, define */
(function (root, factory) {
define("converse-rosterview", ["converse-core", "converse-api"], factory);
}(this, function (converse, converse_api) {
define("converse-rosterview", [
"converse-core",
"converse-api",
"tpl!group_header",
"tpl!pending_contact",
"tpl!requesting_contact",
"tpl!roster",
"tpl!roster_item"
], factory);
}(this, function (
converse,
converse_api,
tpl_group_header,
tpl_pending_contact,
tpl_requesting_contact,
tpl_roster,
tpl_roster_item) {
"use strict";
converse.templates.group_header = tpl_group_header;
converse.templates.pending_contact = tpl_pending_contact;
converse.templates.requesting_contact = tpl_requesting_contact;
converse.templates.roster = tpl_roster;
converse.templates.roster_item = tpl_roster_item;
var $ = converse_api.env.jQuery,
utils = converse_api.env.utils,
Strophe = converse_api.env.Strophe,
......
define("converse-templates", [
"tpl!action",
"tpl!add_contact_dropdown",
"tpl!add_contact_form",
"tpl!change_status_message",
"tpl!chat_status",
"tpl!chatarea",
"tpl!chatbox",
"tpl!chatroom",
"tpl!chatroom_form",
"tpl!chatroom_password_form",
"tpl!chatroom_nickname_form",
"tpl!chatroom_sidebar",
"tpl!chatrooms_tab",
"tpl!chats_panel",
"tpl!choose_status",
"tpl!contacts_panel",
"tpl!contacts_tab",
"tpl!controlbox",
"tpl!controlbox_toggle",
"tpl!field",
"tpl!form_captcha",
"tpl!form_checkbox",
"tpl!form_input",
"tpl!form_select",
"tpl!form_textarea",
"tpl!form_username",
"tpl!group_header",
"tpl!info",
"tpl!login_panel",
"tpl!login_tab",
"tpl!message",
"tpl!new_day",
"tpl!occupant",
"tpl!pending_contact",
"tpl!pending_contacts",
"tpl!register_panel",
"tpl!register_tab",
"tpl!registration_form",
"tpl!registration_request",
"tpl!requesting_contact",
"tpl!requesting_contacts",
"tpl!room_description",
"tpl!room_item",
"tpl!room_panel",
"tpl!roster",
"tpl!roster_item",
"tpl!search_contact",
"tpl!select_option",
"tpl!status_option",
"tpl!toggle_chats",
"tpl!toolbar",
"tpl!toolbar_otr",
"tpl!trimmed_chat",
"tpl!vcard",
// Can be removed together with converse-minimize.js
// if minimization/trimming features not needed (for example for mobile
// apps).
"tpl!chatbox_minimize",
], function () {
return {
action: arguments[0],
add_contact_dropdown: arguments[1],
add_contact_form: arguments[2],
change_status_message: arguments[3],
chat_status: arguments[4],
chatarea: arguments[5],
chatbox: arguments[6],
chatroom: arguments[7],
chatroom_form: arguments[8],
chatroom_password_form: arguments[9],
chatroom_nickname_form: arguments[10],
chatroom_sidebar: arguments[11],
chatrooms_tab: arguments[12],
chats_panel: arguments[13],
choose_status: arguments[14],
contacts_panel: arguments[15],
contacts_tab: arguments[16],
controlbox: arguments[17],
controlbox_toggle: arguments[18],
field: arguments[19],
form_captcha: arguments[20],
form_checkbox: arguments[21],
form_input: arguments[22],
form_select: arguments[23],
form_textarea: arguments[24],
form_username: arguments[25],
group_header: arguments[26],
info: arguments[27],
login_panel: arguments[28],
login_tab: arguments[29],
message: arguments[30],
new_day: arguments[31],
occupant: arguments[32],
pending_contact: arguments[33],
pending_contacts: arguments[34],
register_panel: arguments[35],
register_tab: arguments[36],
registration_form: arguments[37],
registration_request: arguments[38],
requesting_contact: arguments[39],
requesting_contacts: arguments[40],
room_description: arguments[41],
room_item: arguments[42],
room_panel: arguments[43],
roster: arguments[44],
roster_item: arguments[45],
search_contact: arguments[46],
select_option: arguments[47],
status_option: arguments[48],
toggle_chats: arguments[49],
toolbar: arguments[50],
toolbar_otr: arguments[51],
trimmed_chat: arguments[52],
vcard: arguments[53],
chatbox_minimize: arguments[54]
};
});
......@@ -19,7 +19,6 @@
_ = converse_api.env._,
moment = converse_api.env.moment;
converse_api.plugins.add('converse-vcard', {
overrides: {
......
<dt class="roster-group" id="pending-xmpp-contacts"><a href="#" class="group-toggle icon-{{toggle_state}}" title="{{desc_group_toggle}}">{{label_pending_contacts}}</a></dt>
<dt class="roster-group" id="xmpp-contact-requests"><a href="#" class="group-toggle icon-{{toggle_state}}" title="{{desc_group_toggle}}">{{label_contact_requests}}</a></dt>
<form class="pure-form converse-form vcard-info">
<fieldset>
<legend>The VCard info gets rendered here</legend>
<label>Full name:</label>
{{fullname}}
<label>URL:</label>
{{url}}
</fieldset>
<fieldset>
<input type="button" class="pure-button button-cancel" value="{{label_return}}"/>
</fieldset>
</form>
......@@ -4,9 +4,26 @@
"jquery",
"jquery.browser",
"underscore",
"converse-templates"
"tpl!field",
"tpl!select_option",
"tpl!form_select",
"tpl!form_textarea",
"tpl!form_checkbox",
"tpl!form_username",
"tpl!form_input",
"tpl!form_captcha"
], factory);
}(this, function ($, dummy, _, templates) {
}(this, function (
$, dummy, _,
tpl_field,
tpl_select_option,
tpl_form_select,
tpl_form_textarea,
tpl_form_checkbox,
tpl_form_username,
tpl_form_input,
tpl_form_captcha
) {
"use strict";
var XFORM_TYPE_MAP = {
......@@ -249,7 +266,7 @@
} else {
value = $input.val();
}
return $(templates.field({
return $(tpl_field({
name: $input.attr('name'),
value: value
}))[0];
......@@ -291,14 +308,14 @@
$options = $field.children('option');
for (j=0; j<$options.length; j++) {
value = $($options[j]).find('value').text();
options.push(templates.select_option({
options.push(tpl_select_option({
value: value,
label: $($options[j]).attr('label'),
selected: (values.indexOf(value) >= 0),
required: $field.find('required').length
}));
}
return templates.form_select({
return tpl_form_select({
name: $field.attr('var'),
label: $field.attr('label'),
options: options.join(''),
......@@ -308,14 +325,14 @@
} else if ($field.attr('type') === 'fixed') {
return $('<p class="form-help">').text($field.find('value').text());
} else if ($field.attr('type') === 'jid-multi') {
return templates.form_textarea({
return tpl_form_textarea({
name: $field.attr('var'),
label: $field.attr('label') || '',
value: $field.find('value').text(),
required: $field.find('required').length
});
} else if ($field.attr('type') === 'boolean') {
return templates.form_checkbox({
return tpl_form_checkbox({
name: $field.attr('var'),
type: XFORM_TYPE_MAP[$field.attr('type')],
label: $field.attr('label') || '',
......@@ -323,7 +340,7 @@
required: $field.find('required').length
});
} else if ($field.attr('type') && $field.attr('var') === 'username') {
return templates.form_username({
return tpl_form_username({
domain: ' @'+this.domain,
name: $field.attr('var'),
type: XFORM_TYPE_MAP[$field.attr('type')],
......@@ -332,7 +349,7 @@
required: $field.find('required').length
});
} else if ($field.attr('type')) {
return templates.form_input({
return tpl_form_input({
name: $field.attr('var'),
type: XFORM_TYPE_MAP[$field.attr('type')],
label: $field.attr('label') || '',
......@@ -343,7 +360,7 @@
if ($field.attr('var') === 'ocr') { // Captcha
return _.reduce(_.map($field.find('uri'),
$.proxy(function (uri) {
return templates.form_captcha({
return tpl_form_captcha({
label: this.$field.attr('label'),
name: this.$field.attr('var'),
data: this.$stanza.find('data[cid="'+uri.textContent.replace(/^cid:/, '')+'"]').text(),
......
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