Browse Source

Fix touch events

Try to reconnect if refocusing
pull/978/head
Timothée Jaussoin 5 years ago
parent
commit
9c4bc62e58
  1. 10
      app/widgets/Chats/chats.js
  2. 8
      public/scripts/movim_tpl.js
  3. 6
      public/scripts/movim_websocket.js
  4. 4
      public/theme/css/notification.css

10
app/widgets/Chats/chats.js

@ -42,6 +42,8 @@ var Chats = {
delay = 20; delay = 20;
items[i].addEventListener('touchstart', function(event) { items[i].addEventListener('touchstart', function(event) {
if (MovimTpl.menuDragged) return;
Chats.startX = event.targetTouches[0].pageX; Chats.startX = event.targetTouches[0].pageX;
Chats.startY = event.targetTouches[0].pageY; Chats.startY = event.targetTouches[0].pageY;
@ -49,6 +51,8 @@ var Chats = {
}, true); }, true);
items[i].addEventListener('touchmove', function(event) { items[i].addEventListener('touchmove', function(event) {
if (MovimTpl.menuDragged) return;
Chats.translateX = parseInt(event.targetTouches[0].pageX - Chats.startX); Chats.translateX = parseInt(event.targetTouches[0].pageX - Chats.startX);
Chats.translateY = parseInt(event.targetTouches[0].pageY - Chats.startY); Chats.translateY = parseInt(event.targetTouches[0].pageY - Chats.startY);
@ -67,9 +71,7 @@ var Chats = {
moveX = moveX < 0 ? (moveX + delay) : (moveX - delay); moveX = moveX < 0 ? (moveX + delay) : (moveX - delay);
if (Chats.slideAuthorized) { if (Chats.slideAuthorized) {
this.style.transform = 'matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, '
+ moveX
+', 0, 0, 1)';
this.style.transform = 'translateX(' + (moveX) + 'px)';
} }
} else { } else {
this.style.transform = ''; this.style.transform = '';
@ -78,6 +80,8 @@ var Chats = {
}, true); }, true);
items[i].addEventListener('touchend', function(event) { items[i].addEventListener('touchend', function(event) {
if (MovimTpl.menuDragged) return;
this.classList.add('moving'); this.classList.add('moving');
if (Math.abs(Chats.translateX) > this.offsetWidth/2 && Chats.slideAuthorized) { if (Math.abs(Chats.translateX) > this.offsetWidth/2 && Chats.slideAuthorized) {

8
public/scripts/movim_tpl.js

@ -141,9 +141,7 @@ var MovimTpl = {
MovimTpl.menuDragged = true; MovimTpl.menuDragged = true;
event.stopPropagation(); event.stopPropagation();
nav.style.transform = 'matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, '
+ (-nav.offsetWidth + MovimTpl.translateX - delay)
+', 0, 0, 1)';
nav.style.transform = 'translateX(' + (-nav.offsetWidth + MovimTpl.translateX - delay) + 'px)';
} }
}, true); }, true);
@ -154,9 +152,7 @@ var MovimTpl = {
if (nav.classList.contains('active') && MovimTpl.translateX - delay < 0) { if (nav.classList.contains('active') && MovimTpl.translateX - delay < 0) {
MovimTpl.menuDragged = true; MovimTpl.menuDragged = true;
event.stopPropagation(); event.stopPropagation();
nav.style.transform = 'matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, '
+ (MovimTpl.translateX - delay)
+', 0, 0, 1)';
nav.style.transform = 'translateX(' + (MovimTpl.translateX - delay) + 'px)';
} }
}, true); }, true);

6
public/scripts/movim_websocket.js

@ -331,6 +331,12 @@ window.addEventListener('focus', function() {
document.addEventListener("DOMContentLoaded", function(event) { document.addEventListener("DOMContentLoaded", function(event) {
MovimWebsocket.statusBar = document.getElementById('status_websocket'); MovimWebsocket.statusBar = document.getElementById('status_websocket');
movimAddFocus(function() {
if (!MovimWebsocket.statusBar.classList.contains('hide')) {
MovimWebsocket.reconnect();
}
});
// And we start it // And we start it
MovimWebsocket.init(); MovimWebsocket.init();
}); });

4
public/theme/css/notification.css

@ -101,10 +101,10 @@ body.nightmode .toast {
} }
} }
@media screen and (max-width: 25rem) {
@media screen and (max-width: 576px) {
.snackbar, .snackbar,
.toast { .toast {
left: 1rem; left: 1rem;
max-width: calc(100% - 2rem);
width: calc(100% - 2rem);
} }
} }
Loading…
Cancel
Save