mirror of
https://github.com/NodeBB/NodeBB.git
synced 2025-11-08 15:05:46 +01:00
enabled touch events for composer resizing -- composer is now ipad
supported!
This commit is contained in:
@@ -205,6 +205,27 @@ define(['taskbar'], function(taskbar) {
|
|||||||
var resizeActive = false,
|
var resizeActive = false,
|
||||||
resizeCenterX = 0,
|
resizeCenterX = 0,
|
||||||
resizeOffset = 0,
|
resizeOffset = 0,
|
||||||
|
resizeStart = function(e) {
|
||||||
|
bodyRect = document.body.getBoundingClientRect();
|
||||||
|
resizeRect = resizeEl.getBoundingClientRect();
|
||||||
|
resizeCenterX = resizeRect.left + (resizeRect.width/2);
|
||||||
|
resizeOffset = resizeCenterX - e.clientX;
|
||||||
|
resizeSnaps.half = bodyRect.width / 2;
|
||||||
|
resizeSnaps.none = bodyRect.width;
|
||||||
|
resizeActive = true;
|
||||||
|
|
||||||
|
$(document.body).on('mousemove', resizeAction);
|
||||||
|
document.body.addEventListener('touchmove', resizeTouchAction);
|
||||||
|
},
|
||||||
|
resizeStop = function() {
|
||||||
|
resizeActive = false;
|
||||||
|
$(document.body).off('mousemove', resizeAction);
|
||||||
|
document.body.removeEventListener('touchmove', resizeTouchAction);
|
||||||
|
},
|
||||||
|
resizeTouchAction = function(e) {
|
||||||
|
e.preventDefault();
|
||||||
|
resizeAction(e.touches[0]);
|
||||||
|
},
|
||||||
resizeAction = function(e) {
|
resizeAction = function(e) {
|
||||||
if (resizeActive) {
|
if (resizeActive) {
|
||||||
position = (e.clientX + resizeOffset);
|
position = (e.clientX + resizeOffset);
|
||||||
@@ -238,24 +259,20 @@ define(['taskbar'], function(taskbar) {
|
|||||||
},
|
},
|
||||||
resizeRect, bodyRect;
|
resizeRect, bodyRect;
|
||||||
|
|
||||||
var resizeEl = postContainer.find('.resizer');
|
var resizeEl = postContainer.find('.resizer')[0];
|
||||||
|
|
||||||
resizeEl
|
resizeEl.addEventListener('mousedown', resizeStart);
|
||||||
.on('mousedown', function(e) {
|
resizeEl.addEventListener('mouseup', resizeStop);
|
||||||
bodyRect = document.body.getBoundingClientRect();
|
resizeEl.addEventListener('touchstart', function(e) {
|
||||||
resizeRect = resizeEl[0].getBoundingClientRect();
|
e.preventDefault();
|
||||||
resizeCenterX = resizeRect.left + (resizeRect.width/2);
|
resizeStart(e.touches[0]);
|
||||||
resizeOffset = resizeCenterX - e.clientX;
|
});
|
||||||
resizeSnaps.half = bodyRect.width / 2;
|
resizeEl.addEventListener('touchend', function(e) {
|
||||||
resizeSnaps.none = bodyRect.width;
|
e.preventDefault();
|
||||||
resizeActive = true;
|
resizeStop();
|
||||||
|
});
|
||||||
$(document.body).on('mousemove', resizeAction);
|
// .on('mousedown touchstart', resizeStart)
|
||||||
})
|
// .on('mouseup touchend', resizeStop)
|
||||||
.on('mouseup', function() {
|
|
||||||
resizeActive = false;
|
|
||||||
$(document.body).off('mousemove', resizeAction);
|
|
||||||
});
|
|
||||||
|
|
||||||
window.addEventListener('resize', function() {
|
window.addEventListener('resize', function() {
|
||||||
if (composer.active !== undefined) {
|
if (composer.active !== undefined) {
|
||||||
|
|||||||
@@ -73,7 +73,7 @@ var fs = require('fs'),
|
|||||||
async.filter(files, function (file, next) {
|
async.filter(files, function (file, next) {
|
||||||
fs.stat(path.join(themePath, file), function (err, fileStat) {
|
fs.stat(path.join(themePath, file), function (err, fileStat) {
|
||||||
if (err) {
|
if (err) {
|
||||||
next(false);
|
return next(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
next((fileStat.isDirectory() && file.slice(0, 13) === 'nodebb-theme-'));
|
next((fileStat.isDirectory() && file.slice(0, 13) === 'nodebb-theme-'));
|
||||||
|
|||||||
Reference in New Issue
Block a user