supported all service channel messages and conversations
This commit is contained in:
parent
e1def614cb
commit
5aa5a1d9a2
@ -419,13 +419,8 @@ angular.module('myApp.controllers', ['myApp.i18n'])
|
|||||||
$scope.$broadcast(peerData.messageID ? 'ui_history_change_scroll' : 'ui_history_focus');
|
$scope.$broadcast(peerData.messageID ? 'ui_history_change_scroll' : 'ui_history_focus');
|
||||||
} else {
|
} else {
|
||||||
var peerID = AppPeersManager.getPeerID(peerData.peerString);
|
var peerID = AppPeersManager.getPeerID(peerData.peerString);
|
||||||
var peer = peerData.peerString;
|
var username = AppPeersManager.getPeer(peerID).username;
|
||||||
if (peerID > 0) {
|
var peer = username ? '@' + username : peerData.peerString;
|
||||||
var username = AppUsersManager.getUser(peerID).username;
|
|
||||||
if (username) {
|
|
||||||
peer = '@' + username;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (peerData.messageID || peerData.startParam) {
|
if (peerData.messageID || peerData.startParam) {
|
||||||
pendingParams = {
|
pendingParams = {
|
||||||
messageID: peerData.messageID,
|
messageID: peerData.messageID,
|
||||||
@ -836,6 +831,7 @@ angular.module('myApp.controllers', ['myApp.i18n'])
|
|||||||
|
|
||||||
function loadDialogs (force) {
|
function loadDialogs (force) {
|
||||||
offsetIndex = 0;
|
offsetIndex = 0;
|
||||||
|
maxID = 0;
|
||||||
hasMore = false;
|
hasMore = false;
|
||||||
if (!searchMessages) {
|
if (!searchMessages) {
|
||||||
peersInDialogs = {};
|
peersInDialogs = {};
|
||||||
@ -2104,7 +2100,7 @@ angular.module('myApp.controllers', ['myApp.i18n'])
|
|||||||
if (replyKeyboard) {
|
if (replyKeyboard) {
|
||||||
replyKeyboard = AppMessagesManager.wrapReplyMarkup(replyKeyboard);
|
replyKeyboard = AppMessagesManager.wrapReplyMarkup(replyKeyboard);
|
||||||
}
|
}
|
||||||
console.log('update reply markup', peerID, replyKeyboard);
|
// console.log('update reply markup', peerID, replyKeyboard);
|
||||||
$scope.historyState.replyKeyboard = replyKeyboard;
|
$scope.historyState.replyKeyboard = replyKeyboard;
|
||||||
|
|
||||||
var addReplyMessage =
|
var addReplyMessage =
|
||||||
|
@ -328,6 +328,15 @@ angular.module('myApp.directives', ['myApp.filters'])
|
|||||||
};
|
};
|
||||||
})
|
})
|
||||||
|
|
||||||
|
.directive('myServiceShortMessage', function() {
|
||||||
|
return {
|
||||||
|
scope: {
|
||||||
|
message: '=myServiceShortMessage'
|
||||||
|
},
|
||||||
|
templateUrl: templateUrl('dialog_service')
|
||||||
|
};
|
||||||
|
})
|
||||||
|
|
||||||
.directive('myReplyMessage', function(AppPhotosManager, AppMessagesManager, AppPeersManager, $rootScope) {
|
.directive('myReplyMessage', function(AppPhotosManager, AppMessagesManager, AppPeersManager, $rootScope) {
|
||||||
|
|
||||||
return {
|
return {
|
||||||
|
@ -256,6 +256,7 @@
|
|||||||
"conversation_media_location": "Location",
|
"conversation_media_location": "Location",
|
||||||
"conversation_media_contact": "Contact",
|
"conversation_media_contact": "Contact",
|
||||||
"conversation_media_attachment": "Attachment",
|
"conversation_media_attachment": "Attachment",
|
||||||
|
|
||||||
"conversation_group_created": "created the group",
|
"conversation_group_created": "created the group",
|
||||||
"conversation_group_renamed": "changed group name",
|
"conversation_group_renamed": "changed group name",
|
||||||
"conversation_group_photo_updated": "changed group photo",
|
"conversation_group_photo_updated": "changed group photo",
|
||||||
@ -267,6 +268,11 @@
|
|||||||
"conversation_invited_user_message": "invited user",
|
"conversation_invited_user_message": "invited user",
|
||||||
"conversation_kicked_user_message": "removed user",
|
"conversation_kicked_user_message": "removed user",
|
||||||
"conversation_joined_by_link": "joined group",
|
"conversation_joined_by_link": "joined group",
|
||||||
|
"conversation_created_channel": "Channel created",
|
||||||
|
"conversation_changed_channel_name": "Channel renamed",
|
||||||
|
"conversation_changed_channel_photo": "Channel photo updated",
|
||||||
|
"conversation_removed_channel_photo": "Channel photo removed",
|
||||||
|
|
||||||
"conversation_message_sent": "sent you a message",
|
"conversation_message_sent": "sent you a message",
|
||||||
"conversation_forwarded_X_messages": "{'one': 'forwarded {} message', 'other': 'forwarded {} messages'}",
|
"conversation_forwarded_X_messages": "{'one': 'forwarded {} message', 'other': 'forwarded {} messages'}",
|
||||||
|
|
||||||
@ -284,7 +290,8 @@
|
|||||||
"message_service_joined_by_link": "joined group via invite link",
|
"message_service_joined_by_link": "joined group via invite link",
|
||||||
"message_service_unsupported_action": "unsupported action {action}",
|
"message_service_unsupported_action": "unsupported action {action}",
|
||||||
"message_service_bot_intro_header": "What can this bot do?",
|
"message_service_bot_intro_header": "What can this bot do?",
|
||||||
"message_service_created_channel": "Channel {channel-name} created",
|
"message_service_created_channel": "Channel created",
|
||||||
|
"message_service_changed_channel_name": "Channel renamed to {channel-name}",
|
||||||
"message_service_changed_channel_photo": "Channel photo updated",
|
"message_service_changed_channel_photo": "Channel photo updated",
|
||||||
"message_service_removed_channel_photo": "Channel photo removed",
|
"message_service_removed_channel_photo": "Channel photo removed",
|
||||||
|
|
||||||
|
@ -794,8 +794,6 @@ angular.module('myApp.services', ['myApp.i18n', 'izhukov.utils'])
|
|||||||
|
|
||||||
.service('AppPeersManager', function (qSync, AppUsersManager, AppChatsManager, MtpApiManager) {
|
.service('AppPeersManager', function (qSync, AppUsersManager, AppChatsManager, MtpApiManager) {
|
||||||
|
|
||||||
var usernames = {};
|
|
||||||
|
|
||||||
function getInputPeer (peerString) {
|
function getInputPeer (peerString) {
|
||||||
var firstChar = peerString.charAt(0),
|
var firstChar = peerString.charAt(0),
|
||||||
peerParams = peerString.substr(1).split('_');
|
peerParams = peerString.substr(1).split('_');
|
||||||
@ -921,6 +919,14 @@ angular.module('myApp.services', ['myApp.i18n', 'izhukov.utils'])
|
|||||||
: AppChatsManager.getChatPhoto(-peerID, chatPlaceholder)
|
: AppChatsManager.getChatPhoto(-peerID, chatPlaceholder)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function isChannel (peerID) {
|
||||||
|
return (peerID < 0) && AppChatsManager.isChannel(-peerID);
|
||||||
|
}
|
||||||
|
|
||||||
|
function isBot (peerID) {
|
||||||
|
return (peerID > 0) && AppUsersManager.isBot(peerID);
|
||||||
|
}
|
||||||
|
|
||||||
return {
|
return {
|
||||||
getInputPeer: getInputPeer,
|
getInputPeer: getInputPeer,
|
||||||
getInputPeerByID: getInputPeerByID,
|
getInputPeerByID: getInputPeerByID,
|
||||||
@ -931,7 +937,8 @@ angular.module('myApp.services', ['myApp.i18n', 'izhukov.utils'])
|
|||||||
getPeer: getPeer,
|
getPeer: getPeer,
|
||||||
getPeerPhoto: getPeerPhoto,
|
getPeerPhoto: getPeerPhoto,
|
||||||
resolveUsername: resolveUsername,
|
resolveUsername: resolveUsername,
|
||||||
usernames: usernames
|
isChannel: isChannel,
|
||||||
|
isBot: isBot
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
@ -1123,7 +1130,6 @@ angular.module('myApp.services', ['myApp.i18n', 'izhukov.utils'])
|
|||||||
}
|
}
|
||||||
|
|
||||||
return $q.all([getAllChannels(), getTopMessages(loadedDialogsCount, limit)]).then(function () {
|
return $q.all([getAllChannels(), getTopMessages(loadedDialogsCount, limit)]).then(function () {
|
||||||
console.log(curDialogStorage);
|
|
||||||
offset = 0;
|
offset = 0;
|
||||||
if (offsetIndex > 0) {
|
if (offsetIndex > 0) {
|
||||||
for (offset = 0; offset < curDialogStorage.dialogs.length; offset++) {
|
for (offset = 0; offset < curDialogStorage.dialogs.length; offset++) {
|
||||||
@ -1132,10 +1138,7 @@ angular.module('myApp.services', ['myApp.i18n', 'izhukov.utils'])
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
console.log(curDialogStorage.dialogs.slice(offset, offset + limit));
|
|
||||||
return {
|
return {
|
||||||
// count: curDialogStorage.count,
|
|
||||||
dialogs: curDialogStorage.dialogs.slice(offset, offset + limit)
|
dialogs: curDialogStorage.dialogs.slice(offset, offset + limit)
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
@ -1168,12 +1171,13 @@ angular.module('myApp.services', ['myApp.i18n', 'izhukov.utils'])
|
|||||||
var peerText = AppPeersManager.getPeerSearchText(peerID);
|
var peerText = AppPeersManager.getPeerSearchText(peerID);
|
||||||
SearchIndexManager.indexObject(peerID, peerText, dialogsIndex);
|
SearchIndexManager.indexObject(peerID, peerText, dialogsIndex);
|
||||||
|
|
||||||
dialog.top_message = dialog.top_important_message;
|
var messageID = dialog.top_important_message;
|
||||||
|
dialog.top_message = peerID + '_' + messageID;
|
||||||
|
|
||||||
var message = getMessage(peerID + '_' + dialog.top_message);
|
var message = getMessage(dialog.top_message);
|
||||||
var topDate = message.date;
|
var topDate = message.date;
|
||||||
var channel = AppChatsManager.getChat(-peerID);
|
var channel = AppChatsManager.getChat(-peerID);
|
||||||
if (channel.date > topDate) {
|
if (!topDate || channel.date && channel.date > topDate) {
|
||||||
topDate = channel.date;
|
topDate = channel.date;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1183,7 +1187,7 @@ angular.module('myApp.services', ['myApp.i18n', 'izhukov.utils'])
|
|||||||
pushDialogToStorage(dialog);
|
pushDialogToStorage(dialog);
|
||||||
|
|
||||||
if (historiesStorage[peerID] === undefined) {
|
if (historiesStorage[peerID] === undefined) {
|
||||||
var historyStorage = {count: null, history: [dialog.top_message], pending: []};
|
var historyStorage = {count: null, history: [messageID], pending: []};
|
||||||
historiesStorage[peerID] = historyStorage;
|
historiesStorage[peerID] = historyStorage;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1200,6 +1204,11 @@ angular.module('myApp.services', ['myApp.i18n', 'izhukov.utils'])
|
|||||||
}).then(function (dialogsResult) {
|
}).then(function (dialogsResult) {
|
||||||
TelegramMeWebService.setAuthorized(true);
|
TelegramMeWebService.setAuthorized(true);
|
||||||
|
|
||||||
|
// Server-side bug
|
||||||
|
if (dialogsResult.count && offset >= dialogsResult.count) {
|
||||||
|
dialogsResult.dialogs = [];
|
||||||
|
}
|
||||||
|
|
||||||
AppUsersManager.saveApiUsers(dialogsResult.users);
|
AppUsersManager.saveApiUsers(dialogsResult.users);
|
||||||
AppChatsManager.saveApiChats(dialogsResult.chats);
|
AppChatsManager.saveApiChats(dialogsResult.chats);
|
||||||
saveMessages(dialogsResult.messages);
|
saveMessages(dialogsResult.messages);
|
||||||
@ -1219,9 +1228,6 @@ angular.module('myApp.services', ['myApp.i18n', 'izhukov.utils'])
|
|||||||
var message = getMessage(dialog.top_message);
|
var message = getMessage(dialog.top_message);
|
||||||
|
|
||||||
dialog.index = generateDialogIndex(message.date);
|
dialog.index = generateDialogIndex(message.date);
|
||||||
if (dialog.index < 0) {
|
|
||||||
console.log('ind', dialog.index, message.date);
|
|
||||||
}
|
|
||||||
dialog.peerID = peerID;
|
dialog.peerID = peerID;
|
||||||
|
|
||||||
pushDialogToStorage(dialog);
|
pushDialogToStorage(dialog);
|
||||||
@ -1258,7 +1264,7 @@ angular.module('myApp.services', ['myApp.i18n', 'izhukov.utils'])
|
|||||||
if (date === undefined) {
|
if (date === undefined) {
|
||||||
date = tsNow(true) + serverTimeOffset;
|
date = tsNow(true) + serverTimeOffset;
|
||||||
}
|
}
|
||||||
return (date * 65536) + ((++dialogsNum) & 0xFFFF);
|
return (date * 0x10000) + ((++dialogsNum) & 0xFFFF);
|
||||||
}
|
}
|
||||||
|
|
||||||
function pushDialogToStorage (dialog) {
|
function pushDialogToStorage (dialog) {
|
||||||
@ -1278,15 +1284,12 @@ angular.module('myApp.services', ['myApp.i18n', 'izhukov.utils'])
|
|||||||
}
|
}
|
||||||
|
|
||||||
var i, len = dialogs.length;
|
var i, len = dialogs.length;
|
||||||
if (!len) {
|
if (!len || index < dialogs[len - 1].index) {
|
||||||
dialogs.push(dialog);
|
dialogs.push(dialog);
|
||||||
}
|
}
|
||||||
else if (index >= dialogs[0].index) {
|
else if (index >= dialogs[0].index) {
|
||||||
dialogs.unshift(dialog);
|
dialogs.unshift(dialog);
|
||||||
}
|
}
|
||||||
else if (index < dialogs[len - 1].index) {
|
|
||||||
dialogs.push(dialog);
|
|
||||||
}
|
|
||||||
else {
|
else {
|
||||||
for (i = 0; i < len; i++) {
|
for (i = 0; i < len; i++) {
|
||||||
if (index > dialogs[i].index) {
|
if (index > dialogs[i].index) {
|
||||||
@ -1298,17 +1301,29 @@ angular.module('myApp.services', ['myApp.i18n', 'izhukov.utils'])
|
|||||||
}
|
}
|
||||||
|
|
||||||
function requestHistory (inputPeer, maxID, limit, offset) {
|
function requestHistory (inputPeer, maxID, limit, offset) {
|
||||||
return MtpApiManager.invokeApi('messages.getHistory', {
|
var peerID = AppPeersManager.getPeerID(inputPeer);
|
||||||
peer: inputPeer,
|
var promise;
|
||||||
add_offset: offset || 0,
|
if (AppPeersManager.isChannel(peerID)) {
|
||||||
limit: limit || 0,
|
promise = MtpApiManager.invokeApi('channels.getImportantHistory', {
|
||||||
offset_id: maxID || 0
|
peer: inputPeer,
|
||||||
}, {noErrorBox: true}).then(function (historyResult) {
|
offset_id: maxID || 0,
|
||||||
|
add_offset: offset || 0,
|
||||||
|
limit: limit || 0
|
||||||
|
}, {noErrorBox: true});
|
||||||
|
} else {
|
||||||
|
promise = MtpApiManager.invokeApi('messages.getHistory', {
|
||||||
|
peer: inputPeer,
|
||||||
|
offset_id: maxID || 0,
|
||||||
|
add_offset: offset || 0,
|
||||||
|
limit: limit || 0
|
||||||
|
}, {noErrorBox: true});
|
||||||
|
}
|
||||||
|
|
||||||
|
return promise.then(function (historyResult) {
|
||||||
AppUsersManager.saveApiUsers(historyResult.users);
|
AppUsersManager.saveApiUsers(historyResult.users);
|
||||||
AppChatsManager.saveApiChats(historyResult.chats);
|
AppChatsManager.saveApiChats(historyResult.chats);
|
||||||
saveMessages(historyResult.messages);
|
saveMessages(historyResult.messages);
|
||||||
|
|
||||||
var peerID = AppPeersManager.getPeerID(inputPeer);
|
|
||||||
if (
|
if (
|
||||||
peerID < 0 ||
|
peerID < 0 ||
|
||||||
!AppUsersManager.isBot(peerID) ||
|
!AppUsersManager.isBot(peerID) ||
|
||||||
@ -1850,24 +1865,22 @@ angular.module('myApp.services', ['myApp.i18n', 'izhukov.utils'])
|
|||||||
apiMessage.out = apiMessage.flags & 2 ? true : false;
|
apiMessage.out = apiMessage.flags & 2 ? true : false;
|
||||||
apiMessage.media_unread = apiMessage.flags & 32 ? true : false;
|
apiMessage.media_unread = apiMessage.flags & 32 ? true : false;
|
||||||
|
|
||||||
|
var toPeerID = AppPeersManager.getPeerID(apiMessage.to_id);
|
||||||
|
var isChannel = apiMessage.to_id._ == 'peerChannel';
|
||||||
var mid = isChannel ? toPeerID + '_' + apiMessage.id : apiMessage.id;
|
var mid = isChannel ? toPeerID + '_' + apiMessage.id : apiMessage.id;
|
||||||
apiMessage.mid = mid;
|
apiMessage.mid = mid;
|
||||||
|
|
||||||
messagesStorage[mid] = apiMessage;
|
messagesStorage[mid] = apiMessage;
|
||||||
|
|
||||||
apiMessage.date -= serverTimeOffset;
|
apiMessage.date -= serverTimeOffset;
|
||||||
|
|
||||||
var toPeerID = AppPeersManager.getPeerID(apiMessage.to_id);
|
|
||||||
var isChannel = apiMessage.to_id._ == 'peerChannel';
|
|
||||||
apiMessage.toID = toPeerID;
|
apiMessage.toID = toPeerID;
|
||||||
apiMessage.fromID = apiMessage.from_id || toPeerID;
|
apiMessage.fromID = apiMessage.from_id || toPeerID;
|
||||||
if (apiMessage.fwd_from_id) {
|
if (apiMessage.fwd_from_id) {
|
||||||
apiMessage.fwdFromID = AppPeersManager.getPeerID(apiMessage.fwd_from_id);
|
apiMessage.fwdFromID = AppPeersManager.getPeerID(apiMessage.fwd_from_id);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
var mediaContext = {
|
var mediaContext = {
|
||||||
user_id: apiMessage.from_id,
|
user_id: apiMessage.fromID,
|
||||||
date: apiMessage.date
|
date: apiMessage.date
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -2643,7 +2656,7 @@ angular.module('myApp.services', ['myApp.i18n', 'izhukov.utils'])
|
|||||||
|
|
||||||
var replyToMsgID = message.reply_to_msg_id;
|
var replyToMsgID = message.reply_to_msg_id;
|
||||||
if (replyToMsgID) {
|
if (replyToMsgID) {
|
||||||
if (messagesStorage[replyToMsgID]) {
|
if (messagesStorage[replyToMsgID] && false) {
|
||||||
message.reply_to_msg = wrapForDialog(replyToMsgID);
|
message.reply_to_msg = wrapForDialog(replyToMsgID);
|
||||||
} else {
|
} else {
|
||||||
message.reply_to_msg = {id: replyToMsgID, loading: true};
|
message.reply_to_msg = {id: replyToMsgID, loading: true};
|
||||||
@ -2803,8 +2816,6 @@ angular.module('myApp.services', ['myApp.i18n', 'izhukov.utils'])
|
|||||||
options = options || {};
|
options = options || {};
|
||||||
|
|
||||||
var peerID = getMessagePeer(message);
|
var peerID = getMessagePeer(message);
|
||||||
var fromUser = AppUsersManager.getUser(message.from_id);
|
|
||||||
var fromPhoto = AppUsersManager.getUserPhoto(message.from_id, 'User');
|
|
||||||
var peerString;
|
var peerString;
|
||||||
var notification = {},
|
var notification = {},
|
||||||
notificationMessage = false,
|
notificationMessage = false,
|
||||||
@ -2843,10 +2854,15 @@ angular.module('myApp.services', ['myApp.i18n', 'izhukov.utils'])
|
|||||||
}
|
}
|
||||||
} else if (message._ == 'messageService') {
|
} else if (message._ == 'messageService') {
|
||||||
switch (message.action._) {
|
switch (message.action._) {
|
||||||
case 'messageActionChatCreate': notificationMessage = _('conversation_group_created_raw'); break;
|
case 'messageActionChatCreate':
|
||||||
case 'messageActionChatEditTitle': notificationMessage = _('conversation_group_renamed_raw'); break;
|
notificationMessage = _('conversation_group_created_raw');
|
||||||
case 'messageActionChatEditPhoto': notificationMessage = _('conversation_group_photo_updated_raw'); break;
|
break;
|
||||||
case 'messageActionChatDeletePhoto': notificationMessage = _('conversation_group_photo_removed_raw'); break;
|
case 'messageActionChatEditTitle': notificationMessage = _('conversation_group_renamed_raw');
|
||||||
|
break;
|
||||||
|
case 'messageActionChatEditPhoto': notificationMessage = _('conversation_group_photo_updated_raw');
|
||||||
|
break;
|
||||||
|
case 'messageActionChatDeletePhoto': notificationMessage = _('conversation_group_photo_removed_raw');
|
||||||
|
break;
|
||||||
case 'messageActionChatAddUser':
|
case 'messageActionChatAddUser':
|
||||||
notificationMessage = message.action.user_id == message.from_id ? _('conversation_returned_to_group') : _('conversation_invited_user_message_raw');
|
notificationMessage = message.action.user_id == message.from_id ? _('conversation_returned_to_group') : _('conversation_invited_user_message_raw');
|
||||||
break;
|
break;
|
||||||
@ -2856,10 +2872,26 @@ angular.module('myApp.services', ['myApp.i18n', 'izhukov.utils'])
|
|||||||
case 'messageActionChatJoinedByLink':
|
case 'messageActionChatJoinedByLink':
|
||||||
notificationMessage = _('conversation_joined_by_link');
|
notificationMessage = _('conversation_joined_by_link');
|
||||||
break;
|
break;
|
||||||
|
case 'messageActionChannelCreate':
|
||||||
|
notificationMessage = _('conversation_created_channel');
|
||||||
|
break;
|
||||||
|
case 'messageActionChannelEditTitle':
|
||||||
|
notificationMessage = _('conversation_changed_channel_name');
|
||||||
|
break;
|
||||||
|
case 'messageActionChannelEditPhoto':
|
||||||
|
notificationMessage = _('conversation_changed_channel_photo');
|
||||||
|
break;
|
||||||
|
case 'messageActionChannelDeletePhoto':
|
||||||
|
notificationMessage = _('conversation_removed_channel_photo');
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
if (peerID > 0) {
|
if (peerID > 0) {
|
||||||
|
var fromUser = AppUsersManager.getUser(message.from_id);
|
||||||
|
var fromPhoto = AppUsersManager.getUserPhoto(message.from_id, 'User');
|
||||||
|
|
||||||
notification.title = (fromUser.first_name || '') +
|
notification.title = (fromUser.first_name || '') +
|
||||||
(fromUser.first_name && fromUser.last_name ? ' ' : '') +
|
(fromUser.first_name && fromUser.last_name ? ' ' : '') +
|
||||||
(fromUser.last_name || '');
|
(fromUser.last_name || '');
|
||||||
@ -2872,9 +2904,13 @@ angular.module('myApp.services', ['myApp.i18n', 'izhukov.utils'])
|
|||||||
peerString = AppUsersManager.getUserString(peerID);
|
peerString = AppUsersManager.getUserString(peerID);
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
notification.title = (fromUser.first_name || fromUser.last_name || _('conversation_unknown_user_raw')) +
|
notification.title = AppChatsManager.getChat(-peerID).title || _('conversation_unknown_chat_raw');
|
||||||
' @ ' +
|
|
||||||
(AppChatsManager.getChat(-peerID).title || _('conversation_unknown_chat_raw'));
|
if (message.from_id > 0) {
|
||||||
|
notification.title = (fromUser.first_name || fromUser.last_name || _('conversation_unknown_user_raw')) +
|
||||||
|
' @ ' +
|
||||||
|
notification.title;
|
||||||
|
}
|
||||||
|
|
||||||
notificationPhoto = AppChatsManager.getChatPhoto(-peerID, 'Group');
|
notificationPhoto = AppChatsManager.getChatPhoto(-peerID, 'Group');
|
||||||
|
|
||||||
|
@ -73,29 +73,7 @@
|
|||||||
<span ng-switch-when="messageMediaContact" my-i18n="conversation_media_contact"></span>
|
<span ng-switch-when="messageMediaContact" my-i18n="conversation_media_contact"></span>
|
||||||
</span>
|
</span>
|
||||||
|
|
||||||
<span class="im_dialog_message_service" ng-if="dialogMessage._ == 'messageService'" ng-switch="dialogMessage.action._">
|
<span class="im_dialog_message_service" ng-if="dialogMessage._ == 'messageService'" my-service-short-message="dialogMessage"></span>
|
||||||
<span ng-switch-when="messageActionChatCreate" my-i18n="conversation_group_created"></span>
|
|
||||||
<span ng-switch-when="messageActionChatEditTitle" my-i18n="conversation_group_renamed"></span>
|
|
||||||
<span ng-switch-when="messageActionChatEditPhoto" my-i18n="conversation_group_photo_updated"></span>
|
|
||||||
<span ng-switch-when="messageActionChatDeletePhoto" my-i18n="conversation_group_photo_removed"></span>
|
|
||||||
|
|
||||||
<span ng-switch-when="messageActionChatAddUser" ng-switch="dialogMessage.from_id == dialogMessage.action.user_id">
|
|
||||||
<span ng-switch-when="true" my-i18n="conversation_returned_to_group"></span>
|
|
||||||
<span ng-switch-default my-i18n="conversation_invited_user">
|
|
||||||
<my-i18n-param name="user"><span my-peer-link="dialogMessage.action.user_id"></span></my-i18n-param>
|
|
||||||
</span>
|
|
||||||
</span>
|
|
||||||
|
|
||||||
<span ng-switch-when="messageActionChatDeleteUser" ng-switch="dialogMessage.from_id == dialogMessage.action.user_id">
|
|
||||||
<span ng-switch-when="true" my-i18n="conversation_left_group"></span>
|
|
||||||
<span ng-switch-default my-i18n="conversation_kicked_user">
|
|
||||||
<my-i18n-param name="user"><span my-peer-link="dialogMessage.action.user_id"></span></my-i18n-param>
|
|
||||||
</span>
|
|
||||||
</span>
|
|
||||||
|
|
||||||
<span ng-switch-when="messageActionChatJoinedByLink" my-i18n="conversation_joined_by_link"></span>
|
|
||||||
|
|
||||||
</span>
|
|
||||||
|
|
||||||
<span class="im_dialog_message_text" ng-if="dialogMessage.message.length" ng-bind-html="dialogMessage.richMessage"></span>
|
<span class="im_dialog_message_text" ng-if="dialogMessage.message.length" ng-bind-html="dialogMessage.richMessage"></span>
|
||||||
</div>
|
</div>
|
||||||
|
24
app/partials/desktop/dialog_service.html
Normal file
24
app/partials/desktop/dialog_service.html
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
<span ng-switch="message.action._">
|
||||||
|
<span ng-switch-when="messageActionChatCreate" my-i18n="conversation_group_created"></span>
|
||||||
|
<span ng-switch-when="messageActionChatEditTitle" my-i18n="conversation_group_renamed"></span>
|
||||||
|
<span ng-switch-when="messageActionChatEditPhoto" my-i18n="conversation_group_photo_updated"></span>
|
||||||
|
<span ng-switch-when="messageActionChatDeletePhoto" my-i18n="conversation_group_photo_removed"></span>
|
||||||
|
<span ng-switch-when="messageActionChatAddUser" ng-switch="::message.fromID != message.action.user_id">
|
||||||
|
<span ng-switch-when="true" my-i18n="conversation_invited_user">
|
||||||
|
<my-i18n-param name="user"><span my-peer-link="message.action.user_id"></span></my-i18n-param>
|
||||||
|
</span>
|
||||||
|
<span ng-switch-default my-i18n="conversation_returned_to_group"></span>
|
||||||
|
</span>
|
||||||
|
<span ng-switch-when="messageActionChatDeleteUser" ng-switch="::message.fromID != message.action.user_id">
|
||||||
|
<span ng-switch-when="true" my-i18n="conversation_kicked_user">
|
||||||
|
<my-i18n-param name="user"><span my-peer-link="message.action.user_id"></span></my-i18n-param>
|
||||||
|
</span>
|
||||||
|
<span ng-switch-default my-i18n="conversation_left_group"></span>
|
||||||
|
</span>
|
||||||
|
<span ng-switch-when="messageActionChatJoinedByLink" my-i18n="conversation_joined_by_link"></span>
|
||||||
|
|
||||||
|
<span ng-switch-when="messageActionChannelCreate" my-i18n-format="conversation_created_channel"></span>
|
||||||
|
<span ng-switch-when="messageActionChannelEditTitle" my-i18n-format="conversation_changed_channel_name"></span>
|
||||||
|
<span ng-switch-when="messageActionChannelEditPhoto" my-i18n="conversation_changed_channel_photo"></span>
|
||||||
|
<span ng-switch-when="messageActionChannelDeletePhoto" my-i18n="conversation_removed_channel_photo"></span>
|
||||||
|
</span>
|
@ -20,7 +20,8 @@
|
|||||||
</span>
|
</span>
|
||||||
<span ng-switch-when="messageActionChatJoinedByLink" my-i18n="message_service_joined_by_link"></span>
|
<span ng-switch-when="messageActionChatJoinedByLink" my-i18n="message_service_joined_by_link"></span>
|
||||||
|
|
||||||
<span ng-switch-when="messageActionChannelCreate" my-i18n="message_service_created_channel">
|
<span ng-switch-when="messageActionChannelCreate" my-i18n="message_service_created_channel"></span>
|
||||||
|
<span ng-switch-when="messageActionChannelEditTitle" my-i18n="message_service_changed_channel_name">
|
||||||
<my-i18n-param name="channel-name">«<strong ng-bind-html="::historyMessage.action.rTitle"></strong>»</my-i18n-param>
|
<my-i18n-param name="channel-name">«<strong ng-bind-html="::historyMessage.action.rTitle"></strong>»</my-i18n-param>
|
||||||
</span>
|
</span>
|
||||||
<span ng-switch-when="messageActionChannelEditPhoto" my-i18n="message_service_changed_channel_photo"></span>
|
<span ng-switch-when="messageActionChannelEditPhoto" my-i18n="message_service_changed_channel_photo"></span>
|
||||||
|
@ -28,32 +28,11 @@
|
|||||||
</span>
|
</span>
|
||||||
<span ng-switch-when="messageMediaAudio" my-i18n="conversation_media_audio"></span>
|
<span ng-switch-when="messageMediaAudio" my-i18n="conversation_media_audio"></span>
|
||||||
<span ng-switch-when="messageMediaGeo" my-i18n="conversation_media_location"></span>
|
<span ng-switch-when="messageMediaGeo" my-i18n="conversation_media_location"></span>
|
||||||
|
<span ng-switch-when="messageMediaVenue" my-i18n="conversation_media_location"></span>
|
||||||
<span ng-switch-when="messageMediaContact" my-i18n="conversation_media_contact"></span>
|
<span ng-switch-when="messageMediaContact" my-i18n="conversation_media_contact"></span>
|
||||||
</span>
|
</span>
|
||||||
|
|
||||||
<span class="im_reply_message_service" ng-if="replyMessage._ == 'messageService'" ng-switch="replyMessage.action._">
|
<span class="im_reply_message_service" ng-if="replyMessage._ == 'messageService'" my-service-short-message="replyMessage"></span>
|
||||||
<span ng-switch-when="messageActionChatCreate" my-i18n="conversation_group_created"></span>
|
|
||||||
<span ng-switch-when="messageActionChatEditTitle" my-i18n="conversation_group_renamed"></span>
|
|
||||||
<span ng-switch-when="messageActionChatEditPhoto" my-i18n="conversation_group_photo_updated"></span>
|
|
||||||
<span ng-switch-when="messageActionChatDeletePhoto" my-i18n="conversation_group_photo_removed"></span>
|
|
||||||
|
|
||||||
<span ng-switch-when="messageActionChatAddUser" ng-switch="replyMessage.from_id == replyMessage.action.user_id">
|
|
||||||
<span ng-switch-when="true" my-i18n="conversation_returned_to_group"></span>
|
|
||||||
<span ng-switch-default my-i18n="conversation_invited_user">
|
|
||||||
<my-i18n-param name="user"><span my-peer-link="replyMessage.action.user_id"></span></my-i18n-param>
|
|
||||||
</span>
|
|
||||||
</span>
|
|
||||||
|
|
||||||
<span ng-switch-when="messageActionChatDeleteUser" ng-switch="replyMessage.from_id == replyMessage.action.user_id">
|
|
||||||
<span ng-switch-when="true" my-i18n="conversation_left_group"></span>
|
|
||||||
<span ng-switch-default my-i18n="conversation_kicked_user">
|
|
||||||
<my-i18n-param name="user"><span my-peer-link="replyMessage.action.user_id"></span></my-i18n-param>
|
|
||||||
</span>
|
|
||||||
</span>
|
|
||||||
|
|
||||||
<span ng-switch-when="messageActionChatJoinedByLink" my-i18n="conversation_joined_by_link"></span>
|
|
||||||
|
|
||||||
</span>
|
|
||||||
|
|
||||||
<span class="im_reply_message_text" ng-if="replyMessage.message.length" ng-bind-html="replyMessage.richMessage"></span>
|
<span class="im_reply_message_text" ng-if="replyMessage.message.length" ng-bind-html="replyMessage.richMessage"></span>
|
||||||
</div>
|
</div>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user