Files
meanTorrent/modules/messages/client/views/box.client.view.html

135 lines
7.6 KiB
HTML

<section ng-controller="MessageController as vm" ng-init="vm.getMessageList(); vm.getCountUnread();">
<div class="row margin-top-20">
<div class="col-sm-12 messages-list">
<div class="row margin-bottom-20">
<div class="col-xs-8 col-md-9">
<h4>{{'MESSAGES_BOX' | translate}}
<small ng-show="vm.unreadCount>0"> - (<span
class="badge badge_danger">{{vm.unreadCount}}</span> {{'MESSAGES_FIELD.NEW_MSG' | translate}})
</small>
</h4>
</div>
<div class="col-xs-4 col-md-3">
<input class="form-control" type="text" ng-model="vm.search" placeholder="Search"
ng-change="vm.figureOutItemsToDisplay()"/>
</div>
</div>
<div class="pagination-div-top">
<div class="row">
<div class="col-sm-12 col-md-7">
<ul uib-pagination boundary-links="true" max-size="8" items-per-page="vm.itemsPerPage" total-items="vm.filterLength"
ng-model="vm.currentPage"
ng-change="vm.pageChanged()"
first-text="{{ 'PAGE_TEXT_FIRST' | translate}}" previous-text="{{ 'PAGE_TEXT_PREVIOUS' | translate}}"
next-text="{{ 'PAGE_TEXT_NEXT' | translate}}" last-text="{{ 'PAGE_TEXT_LAST' | translate}}">
</ul>
</div>
</div>
</div>
<div class="table-responsive margin-top-50 margin-bottom-50 padding-top-40 padding-bottom-50 text-center" ng-if="!vm.pagedItems.length">
<h4>{{ 'MESSAGES_IS_EMPTY' | translate }}</h4>
</div>
<div class="table-responsive" ng-if="vm.pagedItems.length">
<table class="table table-hover tb-v-middle">
<thead>
<tr>
<th>{{ 'MESSAGES_FIELD.LIST_TITLE' | translate}}</th>
<th class="text-center">{{ 'MESSAGES_FIELD.LIST_REPLIES' | translate}}</th>
<th class="text-center">{{ 'MESSAGES_FIELD.LIST_TYPE' | translate}}</th>
<th class="text-center">{{ 'MESSAGES_FIELD.LIST_SENDAT' | translate}}</th>
<th class="text-center">{{ 'MESSAGES_FIELD.LIST_SELECT' | translate}}</th>
</tr>
</thead>
<tbody>
<tr class="message-item" ng-repeat="m in vm.pagedItems" ng-click="vm.showMessage(m);">
<td>
<img class="message-avatar" ng-src="/{{m.from_user.profileImageURL}}">
<span class="message-title" ng-class="vm.getMessageClass(m);" ng-bind="m.title"></span>
<p class="message-info">
{{m.from_user.displayName}} {{'MESSAGES_FIELD.INFO_SEND_TO' | translate}} {{m.to_user.displayName}} {{'MESSAGES_FIELD.INFO_SEND_AT' | translate}} {{m.createdat | date: 'yyyy-MM-dd HH:mm:ss' }}
<span ng-show="m.updatedat">, {{'MESSAGES_FIELD.LAST_REPLY_AT' | translate}} {{m.updatedat | date: 'yyyy-MM-dd HH:mm:ss' }}</span>
</p>
</td>
<td class="td-v-middle text-center">
<span ng-class="vm.getMessageClass(m);">{{m._replies.length}}</span>
</td>
<td class="td-v-middle text-center">
<span ng-class="vm.getMessageClass(m);">{{'MESSAGE_TYPE_' + m.type.toUpperCase() | translate}}</span>
</td>
<td class="td-v-middle text-center">
<span ng-class="vm.getMessageClass(m);">{{m.createdat | life}}</span>
</td>
<td class="td-v-middle text-center" ng-click="$event.stopPropagation();">
<input type="checkbox" class="tcheckbox" ng-model="vm.selected[m._id]"
id="checkbox_{{m._id}}">
</label>
</td>
</tr>
</tbody>
</table>
</div>
<div class="pagination-div-bottom">
<ul uib-pagination boundary-links="true" max-size="8" items-per-page="vm.itemsPerPage" total-items="vm.filterLength"
ng-model="vm.currentPage"
ng-change="vm.pageChanged()"
first-text="{{ 'PAGE_TEXT_FIRST' | translate}}" previous-text="{{ 'PAGE_TEXT_PREVIOUS' | translate}}"
next-text="{{ 'PAGE_TEXT_NEXT' | translate}}" last-text="{{ 'PAGE_TEXT_LAST' | translate}}">
</ul>
<div class="pull-right margin-top-20">
<button class="btn btn-success" ng-click="vm.deleteSelected()">{{ 'BUTTON_MESSAGE_DELETE' | translate }}</button>
</div>
</div>
</div>
</div>
<div id="popupSlide" class="popup-overlay">
<div class="message-popup message-item">
<div>
<img class="message-avatar" ng-src="/{{vm.selectedMessage.from_user.profileImageURL}}">
<div class="title-info">
<span class="message-title" ng-class="vm.getMessageClass(vm.selectedMessage);" ng-bind="vm.selectedMessage.title"></span>
<p class="message-info">
{{vm.selectedMessage.from_user.displayName}} {{'MESSAGES_FIELD.INFO_SEND_TO' | translate}} {{vm.selectedMessage.to_user.displayName}} {{'MESSAGES_FIELD.INFO_SEND_AT' | translate}} {{vm.selectedMessage.createdat | date: 'yyyy-MM-dd HH:mm:ss' }}
</p>
</div>
</div>
<li class="status-divider"></li>
<div class="message-content" ng-bind-html="vm.getContentMarked(vm.selectedMessage);"></div>
<div class="message-reply">
<li class="status-divider" ng-show="vm.selectedMessage._replies.length>0"></li>
<div class="reply-item" ng-repeat="r in vm.selectedMessage._replies">
<img class="reply-avatar" ng-src="/{{r.from_user.profileImageURL}}">
<div class="reply-info">
<div class="message-content" ng-bind-html="vm.getContentMarked(r);"></div>
<p class="message-info">
{{r.from_user.displayName}} | {{r.createdat | date: 'yyyy-MM-dd HH:mm:ss' }}
</p>
</div>
</div>
</div>
</div>
<div class="bottom-control">
<textarea class="form-control reply-textarea" id="reply-content" name="reply-content"
ng-model="vm.replyContent" autofocus></textarea>
<button class="btn btn-default" ng-click="vm.hideMessage();">{{ 'BUTTON_MESSAGE_CLOSE' | translate }}</button>
<button class="btn btn-default" ng-click="vm.delete(vm.selectedMessage);">{{ 'BUTTON_MESSAGE_DELETE' | translate }}</button>
<button class="btn btn-success pull-right" ng-disabled="!vm.replyContent"
ng-click="vm.replyMessage(vm.selectedMessage);">{{ 'BUTTON_MESSAGE_REPLY' | translate }}
</button>
</div>
</div>
</section>