Browse Source

Fixed scroll bug, added search to peer select modal

master
Igor Zhukov 11 years ago
parent
commit
6ea0dd053c
  1. 7
      app/css/app.css
  2. 8
      app/js/controllers.js
  3. 3
      app/js/directives.js
  4. 24
      app/partials/peer_select.html

7
app/css/app.css

@ -524,10 +524,12 @@ input[type="number"]::-webkit-inner-spin-button {
.im_dialogs_panel { .im_dialogs_panel {
padding: 14px 12px; padding: 14px 12px;
position: relative; position: relative;
}
.im_dialogs_search {
position: relative;
} }
.im_page_split .im_dialogs_search { .im_page_split .im_dialogs_search {
margin-right: 48px; margin-right: 48px;
position: relative;
} }
.im_dialogs_search_field { .im_dialogs_search_field {
font-size: 12px; font-size: 12px;
@ -853,9 +855,6 @@ a.im_dialog:hover .im_dialog_date {
font-size: 1.5em; font-size: 1.5em;
} }
.im_history_to_bottom {
position: relative;
}
.im_history_to_bottom .im_history_scrollable { .im_history_to_bottom .im_history_scrollable {
position: absolute; position: absolute;
bottom: 0; bottom: 0;

8
app/js/controllers.js

@ -396,7 +396,7 @@ angular.module('myApp.controllers', [])
jump = 0; jump = 0;
function applyDialogSelect (newPeer) { function applyDialogSelect (newPeer) {
selectedCancel(); selectedCancel(true);
newPeer = newPeer || $scope.curDialog.peer || ''; newPeer = newPeer || $scope.curDialog.peer || '';
peerID = AppPeersManager.getPeerID(newPeer); peerID = AppPeersManager.getPeerID(newPeer);
@ -542,11 +542,13 @@ angular.module('myApp.controllers', [])
} }
} }
function selectedCancel () { function selectedCancel (noBroadcast) {
$scope.selectedMsgs = {}; $scope.selectedMsgs = {};
$scope.selectedCount = 0; $scope.selectedCount = 0;
$scope.selectActions = false; $scope.selectActions = false;
$scope.$broadcast('ui_panel_update'); if (!noBroadcast) {
$scope.$broadcast('ui_panel_update');
}
} }
function selectedFlush () { function selectedFlush () {

3
app/js/directives.js

@ -271,6 +271,7 @@ angular.module('myApp.directives', ['myApp.filters'])
ch = scrollableWrap.clientHeight; ch = scrollableWrap.clientHeight;
$(scrollableWrap).addClass('im_history_to_bottom'); $(scrollableWrap).addClass('im_history_to_bottom');
scrollableWrap.scrollHeight; // Some strange Chrome bug workaround
$(scrollable).css({bottom: -(sh - st - ch)}); $(scrollable).css({bottom: -(sh - st - ch)});
onContentLoaded(function () { onContentLoaded(function () {
@ -340,7 +341,7 @@ angular.module('myApp.directives', ['myApp.filters'])
updateBottomizer(); updateBottomizer();
if (heightOnly == true) return; if (heightOnly === true) return;
if (atBottom) { if (atBottom) {
onContentLoaded(function () { onContentLoaded(function () {
scrollableWrap.scrollTop = scrollableWrap.scrollHeight; scrollableWrap.scrollTop = scrollableWrap.scrollHeight;

24
app/partials/peer_select.html

@ -20,6 +20,30 @@
<ul class="nav nav-pills nav-stacked"> <ul class="nav nav-pills nav-stacked">
<li class="im_dialog_wrap" my-dialog dialog-message="dialogMessage" ng-repeat="dialogMessage in dialogs track by dialogMessage.peerID"></li> <li class="im_dialog_wrap" my-dialog dialog-message="dialogMessage" ng-repeat="dialogMessage in dialogs track by dialogMessage.peerID"></li>
</ul> </ul>
<div class="im_dialogs_contacts_wrap" ng-show="contacts.length > 0">
<h5>Contacts</h5>
<ul class="nav nav-pills nav-stacked">
<li class="im_dialog_wrap" ng-repeat="contact in contacts | orderBy:'user.sortName' track by contact.userID" ng-class="{active: curDialog.peerID == contact.userID}">
<a class="im_dialog" ng-click="dialogSelect(contact.peerString)">
<div class="im_dialog_photo pull-left">
<img
class="im_dialog_photo"
my-load-thumb
thumb="contact.userPhoto"
/>
</div>
<div class="im_dialog_message_wrap">
<div class="im_dialog_peer">
<span class="im_dialog_user" ng-bind-html="contact.user.rFullName"></span>
</div>
<div class="im_dialog_message">
<span class="im_dialog_message_text">{{contact.user | userStatus}}</span>
</div>
</div>
</a>
</li>
</ul>
</div>
</div> </div>
</div> </div>
</div> </div>

Loading…
Cancel
Save