|
|
|
<div class="im_message_outer_wrap" ng-click="toggleMessage(historyMessage.mid, $event)">
|
|
|
|
|
|
|
|
<div class="im_message_wrap clearfix" ng-switch="::historyMessage._ == 'messageService'">
|
|
|
|
|
|
|
|
<div class="im_service_message_wrap" ng-switch-when="true" ng-switch="historyMessage.action._ == 'messageActionBotIntro'">
|
|
|
|
<div ng-switch-when="true" class="im_bot_intro_message_wrap">
|
|
|
|
<div class="im_bot_intro_message_header" my-i18n="message_service_bot_intro_header"></div>
|
|
|
|
<div class="im_bot_intro_message" ng-bind-html="::historyMessage.action.rDescription"></div>
|
|
|
|
</div>
|
|
|
|
<div ng-switch-default class="im_service_message">
|
|
|
|
<a class="im_message_author" ng-if="::historyMessage.fromID > 0" my-peer-link="historyMessage.fromID" short="historyMessage.peerID > 0" color="historyMessage.peerID < 0" no-watch="true"></a>
|
|
|
|
<span class="im_message_service" my-service-message></span>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<a ng-if="::historyMessage.action._ == 'messageActionChatEditPhoto' || historyMessage.action._ == 'messageActionChannelEditPhoto'" class="im_service_message_photo_thumb" href="" ng-click="openPhoto(historyMessage.action.photo.id)">
|
|
|
|
<img
|
|
|
|
class="im_service_message_photo_thumb"
|
|
|
|
my-load-thumb
|
|
|
|
thumb="historyMessage.action.photo.thumb"
|
|
|
|
/>
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<div ng-switch-default class="im_content_message_wrap" ng-class="::[historyMessage.pFlags.out ? 'im_message_out' : 'im_message_in', historyMessage.fwdFromID ? 'im_message_fwd' : '']">
|
|
|
|
<i class="icon icon-select-tick"></i>
|
|
|
|
|
|
|
|
<a class="im_message_error_btn" ng-if="::historyMessage.pending || historyMessage.error || false" ng-click="historyMessage.send()">
|
|
|
|
<i class="icon-message-status" tooltip="{{'message_action_retry' | i18n}}"></i>
|
|
|
|
</a>
|
|
|
|
<i ng-if="::historyMessage.pFlags.unread && historyMessage.pFlags.out || historyMessage.pending || false" class="icon-message-status" ng-show="!historyMessage.error"></i>
|
|
|
|
|
|
|
|
<a class="im_message_from_photo pull-left" my-peer-photolink="::historyMessage.fromID" img-class="im_message_from_photo"></a>
|
|
|
|
|
|
|
|
<div class="im_message_meta pull-right text-right noselect">
|
|
|
|
<div class="im_message_views_wrap" ng-if="::!historyMessage.fwdFromID && historyMessage.views > 0">
|
|
|
|
<div class="im_message_views">
|
|
|
|
<i class="icon-message-views"></i><span class="im_message_views_cnt" my-message-views="historyMessage.mid"></span>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<span class="im_message_date clickable nocopy" data-content="{{::historyMessage.date | time}}"></span>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<div class="im_message_body" ng-class="::{im_message_body_media: historyMessage._ == 'message' && historyMessage.media ? true : false}">
|
|
|
|
|
|
|
|
<span class="im_message_author_wrap">
|
|
|
|
<span class="copyonly">[<span ng-bind="::historyMessage.date | time"></span>] </span><a class="im_message_author" my-peer-link="historyMessage.fromID" short="historyMessage.peerID > 0" color="historyMessage.peerID < 0" no-watch="true"></a><a ng-if="::historyMessage.viaBotID && !historyMessage.fwdFromID" class="im_message_author_via" ng-click="selectInlineBot(historyMessage.viaBotID, $event)"><span class="copyonly"> </span><span my-i18n="message_via_bot"><my-i18n-param name="bot"><span class="im_message_fwd_author" my-peer-link="historyMessage.viaBotID" username="true" no-watch="true"></span></my-i18n-param></span></a><span class="copyonly">:</span>
|
|
|
|
</span>
|
|
|
|
|
|
|
|
|
|
|
|
<a class="im_message_reply_wrap" my-reply-message="::historyMessage.reply_to_mid" ng-if="::historyMessage.reply_to_mid"></a>
|
|
|
|
|
|
|
|
<div ng-if="::historyMessage.fwdFromID || false" class="im_message_fwd_from">
|
|
|
|
<span class="copyonly"><span my-i18n="message_forwarded_message"></span>: </span>
|
|
|
|
<a class="im_message_fwd_photo pull-left" my-peer-photolink="::historyMessage.fwdFromID" img-class="im_message_fwd_photo"></a>
|
|
|
|
<div class="im_message_fwd_author_wrap">
|
|
|
|
<a class="im_message_fwd_author" my-peer-link="historyMessage.fwdFromID"></a><a ng-if="::historyMessage.viaBotID" class="im_message_fwd_via" ng-click="selectInlineBot(historyMessage.viaBotID, $event)"><span class="copyonly"> </span><span my-i18n="message_via_bot"><my-i18n-param name="bot"><span class="im_message_fwd_author" my-peer-link="historyMessage.viaBotID" username="true" no-watch="true"></span></my-i18n-param></span></a><span class="copyonly"> [</span><span class="im_message_fwd_date" ng-bind="::historyMessage.fwd_from.date | dateOrTime"></span><span class="copyonly">] </span>
|
|
|
|
<span class="im_message_views_inline" ng-if="::historyMessage.views > 0">
|
|
|
|
<i class="icon-message-views"></i><span class="im_message_views_cnt" my-message-views="historyMessage.mid"></span>
|
|
|
|
</span>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<div my-message-body="historyMessage">
|
|
|
|
<div class="im_message_text" dir="auto"></div>
|
|
|
|
<div class="im_message_media"></div>
|
|
|
|
<div class="im_message_sign"></div>
|
|
|
|
<div class="im_message_keyboard"></div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|