|
|
|
<div class="im_message_outer_wrap" ng-click="toggleMessage(historyMessage.id, $event)">
|
|
|
|
|
|
|
|
|
|
|
|
<div class="im_message_wrap clearfix">
|
|
|
|
|
|
|
|
<div class="im_service_message_wrap" ng-if="::historyMessage._ == 'messageService'">
|
|
|
|
<div class="im_service_message">
|
|
|
|
<a class="im_message_author" my-user-link="historyMessage.from_id" short="!historyMessage.to_id.chat_id" color="historyMessage.to_id.chat_id > 0"></a>
|
|
|
|
<span class="im_message_service" my-service-message></span>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<a ng-if="::historyMessage.action._ == 'messageActionChatEditPhoto'" 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-if="::historyMessage._ != 'messageService'" class="im_content_message_wrap" ng-class="::[historyMessage.out ? 'im_message_out' : 'im_message_in', historyMessage._ == 'messageForwarded' ? 'im_message_fwd' : '']">
|
|
|
|
<div class="im_content_message_select_area">
|
|
|
|
<i class="icon icon-select-tick"></i>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<a class="im_message_error_btn" ng-if="::historyMessage.pending || historyMessage.error || false" ng-click="historyMessage.send()">
|
|
|
|
<i class="icon-message-status" tooltip="Try again"></i>
|
|
|
|
</a>
|
|
|
|
|
|
|
|
<i ng-if="::historyMessage.unread || historyMessage.pending || false" class="icon-message-status" ng-class="{'icon-message-status-unread': historyMessage.unread, 'icon-message-status-pending': historyMessage.pending}" ng-show="!historyMessage.error"></i>
|
|
|
|
|
|
|
|
<a class="im_message_from_photo pull-left" my-user-photolink="historyMessage.from_id" img-class="im_message_from_photo"></a>
|
|
|
|
|
|
|
|
<div class="im_message_meta pull-right text-right">
|
|
|
|
<i class="icon-message-status-tick"></i>
|
|
|
|
<span class="im_message_date" ng-bind="::historyMessage.date | time"></span>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<div class="im_message_body" ng-class="::{im_message_body_media: historyMessage._ == 'message' && historyMessage.media ? true : false}">
|
|
|
|
|
|
|
|
<a class="im_message_author" my-user-link="historyMessage.from_id" short="!historyMessage.to_id.chat_id" color="historyMessage.to_id.chat_id > 0"></a>
|
|
|
|
|
|
|
|
<div ng-if="::historyMessage._ == 'messageForwarded' || false" class="im_message_fwd_from">
|
|
|
|
<a class="im_message_fwd_photo pull-left" my-user-photolink="historyMessage.fwd_from_id" img-class="im_message_fwd_photo"></a>
|
|
|
|
<div class="im_message_fwd_author_wrap">
|
|
|
|
<a class="im_message_fwd_author" my-user-link="historyMessage.fwd_from_id" short="true"></a><span class="im_message_fwd_date" ng-bind="::historyMessage.fwd_date | dateOrTime"></span>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<div ng-if="::historyMessage.media ? true : false" class="im_message_media" ng-switch="historyMessage.media._">
|
|
|
|
|
|
|
|
<div ng-switch-when="messageMediaPhoto" my-message-photo></div>
|
|
|
|
<div ng-switch-when="messageMediaVideo" my-message-video="historyMessage.media.video" message-id="historyMessage.id"></div>
|
|
|
|
<div ng-switch-when="messageMediaDocument" my-message-document="historyMessage.media.document" message-id="historyMessage.id"></div>
|
|
|
|
<div ng-switch-when="messageMediaAudio" class="im_message_audio" my-audio-player audio="historyMessage.media.audio"></div>
|
|
|
|
<div ng-switch-when="messageMediaGeo" my-message-map></div>
|
|
|
|
<div ng-switch-when="messageMediaContact" class="im_message_contact" my-message-contact></div>
|
|
|
|
<div ng-switch-when="messageMediaPending" my-message-pending></div>
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<div class="im_message_text" ng-if="::historyMessage.message.length || false" ng-bind-html="::historyMessage.richMessage"></div>
|
|
|
|
<div class="im_message_external_embed_wrap" ng-if="::historyMessage.richUrlEmbed || false" my-external-embed="historyMessage.richUrlEmbed"></div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|