Ability to specify both subject and message for feedback messages

This allows for better desktop notification messages.
Also improved the wording for some of the feedback messages.
This commit is contained in:
JC Brand 2016-08-23 08:00:41 +00:00
parent 814845e879
commit c6d37b57e7
2 changed files with 22 additions and 18 deletions

View File

@ -373,17 +373,21 @@
converse.everySecondTrigger = window.setInterval(converse.onEverySecond, 1000); converse.everySecondTrigger = window.setInterval(converse.onEverySecond, 1000);
}; };
this.giveFeedback = function (message, klass) { this.giveFeedback = function (subject, klass, message) {
$('.conn-feedback').each(function (idx, el) { $('.conn-feedback').each(function (idx, el) {
var $el = $(el); var $el = $(el);
$el.addClass('conn-feedback').text(message); $el.addClass('conn-feedback').text(subject);
if (klass) { if (klass) {
$el.addClass(klass); $el.addClass(klass);
} else { } else {
$el.removeClass('error'); $el.removeClass('error');
} }
}); });
converse.emit('feedback', {'message': message, 'klass': klass}); converse.emit('feedback', {
'klass': klass,
'message': message,
'subject': subject
});
}; };
this.rejectPresenceSubscription = function (jid, message) { this.rejectPresenceSubscription = function (jid, message) {
@ -405,7 +409,9 @@
converse.connection.reset(); converse.connection.reset();
converse.log('The connection has dropped, attempting to reconnect.'); converse.log('The connection has dropped, attempting to reconnect.');
converse.giveFeedback( converse.giveFeedback(
__('The connection has dropped, attempting to reconnect.'), 'warn'); __("Reconnecting"), 'warn',
__('The connection has dropped, attempting to reconnect.')
);
converse.clearSession(); converse.clearSession();
converse._tearDown(); converse._tearDown();
if (converse.authentication !== "prebind") { if (converse.authentication !== "prebind") {
@ -464,22 +470,28 @@
} else if (status === Strophe.Status.DISCONNECTED) { } else if (status === Strophe.Status.DISCONNECTED) {
converse.setDisconnectionCause(status); converse.setDisconnectionCause(status);
converse.onDisconnected(condition); converse.onDisconnected(condition);
if (status === Strophe.Status.DISCONNECTING && condition) {
converse.giveFeedback(
__("Disconnected"), 'warn',
__("The connection to the chat server has dropped")
);
}
} else if (status === Strophe.Status.ERROR) { } else if (status === Strophe.Status.ERROR) {
converse.giveFeedback(__('Error'), 'error'); converse.giveFeedback(
__('Connection error'), 'error',
__('An error occurred while connecting to the chat server.')
);
} else if (status === Strophe.Status.CONNECTING) { } else if (status === Strophe.Status.CONNECTING) {
converse.giveFeedback(__('Connecting')); converse.giveFeedback(__('Connecting'));
} else if (status === Strophe.Status.AUTHENTICATING) { } else if (status === Strophe.Status.AUTHENTICATING) {
converse.giveFeedback(__('Authenticating')); converse.giveFeedback(__('Authenticating'));
} else if (status === Strophe.Status.AUTHFAIL) { } else if (status === Strophe.Status.AUTHFAIL) {
converse.giveFeedback(__('Authentication Failed'), 'error'); converse.giveFeedback(__('Authentication failed.'), 'error');
converse.connection.disconnect(__('Authentication Failed')); converse.connection.disconnect(__('Authentication Failed'));
converse.disconnection_cause = Strophe.Status.AUTHFAIL; converse.disconnection_cause = Strophe.Status.AUTHFAIL;
} else if (status === Strophe.Status.CONNFAIL || } else if (status === Strophe.Status.CONNFAIL ||
status === Strophe.Status.DISCONNECTING) { status === Strophe.Status.DISCONNECTING) {
converse.setDisconnectionCause(status); converse.setDisconnectionCause(status);
if (status === Strophe.Status.DISCONNECTING && condition) {
converse.giveFeedback(condition, 'error');
}
} }
}; };

View File

@ -195,15 +195,7 @@
}; };
converse.showFeedbackNotification = function (data) { converse.showFeedbackNotification = function (data) {
var subject; var n = new Notification(data.subject, {
if (data.klass === 'error') {
subject = __('An error has occured');
} else if (data.klass === 'warn') {
subject = __('Please be aware');
} else {
return;
}
var n = new Notification(subject, {
body: data.message, body: data.message,
lang: converse.i18n.locale_data.converse[""].lang, lang: converse.i18n.locale_data.converse[""].lang,
icon: 'logo/conversejs.png' icon: 'logo/conversejs.png'