1
0
mirror of https://github.com/nerzhul/ocsms.git synced 2025-06-07 16:06:15 +00:00
ocsms/js/devel/app.js
Greg Ross 2600b743d1 Fix date used to retrieve new messages (#265)
Using the conversation read date to check for new messages will retrieve the same message multiple times if the last read date is older than when the new message arrives.  Instead us the last message we have retrieved as the date to check for new messages from.
2018-07-20 22:47:53 +02:00

77 lines
1.9 KiB
JavaScript

/**
* Nextcloud - Phone Sync
*
* This file is licensed under the Affero General Public License version 3 or
* later. See the COPYING file.
*
* @author Loic Blot <loic.blot@unix-experience.fr>
* @copyright Loic Blot 2014-2017
*/
var Sms = {
// Attributes
selectedConversation: null,
unreadCountCurrentConv: 0,
unreadCountAllConv: 0,
unreadCountNotifStep: 12,
lastUnreadCountAllConv: 0,
lastContactListMsgDate: 0,
lastMessageDate: 0,
originalTitle: document.title,
photoVersion: 1,
_winRegexp: /(.*)\/ocsms.*/,
// Functions
generateURL: function (endpoint) {
var match = this._winRegexp.exec(window.location.href);
if (match.length !== 2) {
console.log("A very bad error happened when parsing window location");
}
return match[1] + '/ocsms' + endpoint;
},
selectConversation: function (item) {
if (item === 'undefined' || item == null) {
return;
}
if (this.selectedConversation != null) {
this.selectedConversation.parent().removeClass('selected');
}
this.selectedConversation = item;
this.selectedConversation.parent().addClass('selected');
this.selectedConversation.css("font-weight", "normal");
this.selectedConversation.html(this.selectedConversation.attr("mailbox-label"));
}
};
var ContactRenderer = {
generateColor: function (input) {
if (typeof input === 'undefined') {
return '';
}
// Check if core has the new color generator
if (typeof input.toHsl === 'function') {
var hsl = input.toHsl();
return 'hsl(' + hsl[0] + ', ' + hsl[1] + '%, ' + hsl[2] + '%)';
} else {
// If not, we use the old one
/* global md5 */
var hash = md5(input).substring(0, 4),
maxRange = parseInt('ffff', 16),
hue = parseInt(hash, 16) / maxRange * 256;
return 'hsl(' + hue + ', 90%, 65%)';
}
},
generateFirstCharacter: function (input) {
if (typeof input !== 'string') {
return '?';
}
if (input.charAt(0) === '+') {
return '#';
}
return input.charAt(0);
}
};