Browse Source

Simplified message select

Closes #816
master
Igor Zhukov 9 years ago
parent
commit
73afbd2912
  1. 34
      app/js/controllers.js
  2. 4
      app/less/app.less
  3. 23
      app/less/desktop.less
  4. 18
      app/less/mobile.less
  5. 2
      app/partials/desktop/im.html

34
app/js/controllers.js

@ -1391,15 +1391,37 @@ angular.module('myApp.controllers', ['myApp.i18n']) @@ -1391,15 +1391,37 @@ angular.module('myApp.controllers', ['myApp.i18n'])
}
function toggleMessage (messageID, $event) {
var target = $event.target,
shiftClick = $event.shiftKey;
if ($scope.historyState.startBot) {
return false;
}
if (shiftClick) {
$scope.$broadcast('ui_selection_clear');
if (!$scope.historyState.selectActions) {
var sel = (
window.getSelection && window.getSelection() ||
document.getSelection && document.getSelection() ||
document.selection && document.selection.createRange().text || ''
).toString().replace(/^\s+|\s+$/g, '');
if (sel) {
return false;
}
var target = $event.target;
while (target) {
if (target.className.indexOf('im_message_outer_wrap') != -1) {
break;
}
if (target.tagName == 'A' ||
target.onclick ||
target.getAttribute('ng-click')) {
return false;
}
target = target.parentNode;
}
}
if (!$scope.historyState.selectActions && !$(target).hasClass('icon-select-tick') && !$(target).hasClass('im_content_message_select_area')) {
return false;
var shiftClick = $event.shiftKey;
if (shiftClick) {
$scope.$broadcast('ui_selection_clear');
}
if ($scope.selectedMsgs[messageID]) {

4
app/less/app.less

@ -1659,7 +1659,7 @@ div.im_message_video_thumb { @@ -1659,7 +1659,7 @@ div.im_message_video_thumb {
background-position: -2px -542px;
}
.im_history_selectable {
.im_history_select_active {
a {
pointer-events: none;
}
@ -3075,6 +3075,8 @@ a.peer_photo_init { @@ -3075,6 +3075,8 @@ a.peer_photo_init {
color: #fff;
text-align: center;
text-transform: uppercase;
.user-select(none);
}
h5 {

23
app/less/desktop.less

@ -911,11 +911,11 @@ a.footer_link.active:active { @@ -911,11 +911,11 @@ a.footer_link.active:active {
.im_message_selected .im_message_audio_duration,
.im_message_selected .im_message_audio_size,
.im_message_selected .im_message_fwd_date,
.im_history_selectable .im_message_outer_wrap:hover .im_message_date,
.im_history_selectable .im_message_outer_wrap:hover .im_message_document_size,
.im_history_selectable .im_message_outer_wrap:hover .im_message_audio_duration,
.im_history_selectable .im_message_outer_wrap:hover .im_message_audio_size,
.im_history_selectable .im_message_outer_wrap:hover .im_message_fwd_date {
.im_history_select_active .im_message_outer_wrap:hover .im_message_date,
.im_history_select_active .im_message_outer_wrap:hover .im_message_document_size,
.im_history_select_active .im_message_outer_wrap:hover .im_message_audio_duration,
.im_history_select_active .im_message_outer_wrap:hover .im_message_audio_size,
.im_history_select_active .im_message_outer_wrap:hover .im_message_fwd_date {
color: #899daf;
}
@ -1752,14 +1752,11 @@ a.im_panel_peer_photo .peer_initials { @@ -1752,14 +1752,11 @@ a.im_panel_peer_photo .peer_initials {
background: #f2f6fa;
}
.im_history_selectable {
.im_message_outer_wrap {
cursor: pointer;
&:hover {
background: #f2f6fa;
}
}
.im_history_selectable .im_message_outer_wrap {
cursor: pointer;
}
.im_history_select_active .im_message_outer_wrap:hover {
background: #f2f6fa;
}
.im_message_wrap {

18
app/less/mobile.less

@ -519,7 +519,7 @@ html { @@ -519,7 +519,7 @@ html {
border: 0;
overflow: hidden;
}
.im_history_selectable .im_message_outer_wrap:hover,
.im_history_select_active .im_message_outer_wrap:hover,
.im_message_selected {
background: #e1e9f0;
}
@ -831,10 +831,10 @@ img.im_message_video_thumb, @@ -831,10 +831,10 @@ img.im_message_video_thumb,
.im_message_focus .audio_player_duration,
.im_message_focus .audio_player_size,
.im_message_focus .im_message_fwd_date,
.im_history_selectable .im_message_outer_wrap:hover .im_message_document_size,
.im_history_selectable .im_message_outer_wrap:hover .audio_player_duration,
.im_history_selectable .im_message_outer_wrap:hover .audio_player_size,
.im_history_selectable .im_message_outer_wrap:hover .im_message_fwd_date {
.im_history_select_active .im_message_outer_wrap:hover .im_message_document_size,
.im_history_select_active .im_message_outer_wrap:hover .audio_player_duration,
.im_history_select_active .im_message_outer_wrap:hover .audio_player_size,
.im_history_select_active .im_message_outer_wrap:hover .im_message_fwd_date {
color: #68839c;
}
@ -1077,10 +1077,10 @@ a.im_dialog { @@ -1077,10 +1077,10 @@ a.im_dialog {
.im_message_selected .audio_player_title,
.im_message_selected .audio_player_duration,
.im_message_selected .audio_player_size,
.im_history_selectable .im_message_selected:hover .im_message_document_size,
.im_history_selectable .im_message_selected:hover .audio_player_duration,
.im_history_selectable .im_message_selected:hover .audio_player_size,
.im_history_selectable .im_message_selected:hover .im_message_fwd_date {
.im_history_select_active .im_message_selected:hover .im_message_document_size,
.im_history_select_active .im_message_selected:hover .audio_player_duration,
.im_history_select_active .im_message_selected:hover .audio_player_size,
.im_history_select_active .im_message_selected:hover .im_message_fwd_date {
color: #fff;
}
a.im_message_fwd_author {

2
app/partials/desktop/im.html

@ -103,7 +103,7 @@ @@ -103,7 +103,7 @@
<div class="im_history_scrollable_wrap nano-content">
<div class="im_history_scrollable">
<div class="im_history" ng-class="{im_history_selectable: historyState.selectActions}">
<div class="im_history" ng-class="{im_history_selectable: !historyState.startBot, im_history_select_active: historyState.selectActions}">
<div ng-if="state.empty" class="im_history_empty" ng-switch="state.mayBeHasMore" my-vertical-position="0.25" padding="true">
<span ng-switch-when="true">
<my-i18n msgid="im_loading_history"></my-i18n><span my-loading-dots></span>

Loading…
Cancel
Save