Fix ToolApp edge back drag progress
This commit is contained in:
@@ -370,7 +370,31 @@ FloatBallAppWM.prototype.applyPanelPredictiveBackProgress = function(panel, even
|
|||||||
try { edge = Number(event.getSwipeEdge()); } catch (eE) { edge = 0; }
|
try { edge = Number(event.getSwipeEdge()); } catch (eE) { edge = 0; }
|
||||||
if (panel && this.state && this.state.toolAppRoot === panel && this.applyToolAppBackPreviewProgress && this.hasToolAppBackTarget && this.hasToolAppBackTarget()) {
|
if (panel && this.state && this.state.toolAppRoot === panel && this.applyToolAppBackPreviewProgress && this.hasToolAppBackTarget && this.hasToolAppBackTarget()) {
|
||||||
this.state.toolAppBackEdge = edge;
|
this.state.toolAppBackEdge = edge;
|
||||||
this.applyToolAppBackPreviewProgress(edge, p);
|
|
||||||
|
var dragPx = 0;
|
||||||
|
try {
|
||||||
|
var panelW = 0;
|
||||||
|
try { panelW = Number(panel.getWidth ? panel.getWidth() : 0); } catch(ePW) { panelW = 0; }
|
||||||
|
if (!panelW || panelW < this.dp(120)) {
|
||||||
|
try { panelW = Number((this.state.viewerPanelLp && this.state.viewerPanelLp.width) || 0); } catch(eLpW) { panelW = 0; }
|
||||||
|
}
|
||||||
|
if (!panelW || panelW < this.dp(120)) panelW = this.dp(320);
|
||||||
|
|
||||||
|
var maxFollow = Math.min(this.dp(220), Math.floor(panelW * 0.45));
|
||||||
|
dragPx = Math.round(maxFollow * p);
|
||||||
|
} catch(eDrag) {
|
||||||
|
dragPx = Math.round(this.dp(180) * p);
|
||||||
|
}
|
||||||
|
|
||||||
|
try {
|
||||||
|
var nowPb = Date.now();
|
||||||
|
if (!this.state.toolAppPredictiveBackLogAt || (nowPb - Number(this.state.toolAppPredictiveBackLogAt || 0)) > 300) {
|
||||||
|
this.state.toolAppPredictiveBackLogAt = nowPb;
|
||||||
|
safeLog(this.L, 'd', 'predictive back progress edge=' + String(edge) + ' p=' + String(p) + ' dragPx=' + String(dragPx));
|
||||||
|
}
|
||||||
|
} catch(eLogPb) {}
|
||||||
|
|
||||||
|
this.applyToolAppBackPreviewProgress(edge, p, dragPx);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
var dir = edge === 1 ? -1 : 1;
|
var dir = edge === 1 ? -1 : 1;
|
||||||
|
|||||||
@@ -846,7 +846,16 @@ FloatBallAppWM.prototype.applyToolAppBackPreviewProgress = function(edge, progre
|
|||||||
}
|
}
|
||||||
} catch(eFollow) {}
|
} catch(eFollow) {}
|
||||||
if (body) {
|
if (body) {
|
||||||
body.setTranslationX(dir * w * eased * 0.42);
|
var bodyMove = dir * w * eased * 0.42;
|
||||||
|
try {
|
||||||
|
if (dragPx !== undefined && dragPx !== null) {
|
||||||
|
var rawDrag = Number(dragPx || 0);
|
||||||
|
if (isNaN(rawDrag)) rawDrag = 0;
|
||||||
|
if (rawDrag < 0) rawDrag = -rawDrag;
|
||||||
|
bodyMove = dir * Math.min(rawDrag, Math.floor(w * 0.45));
|
||||||
|
}
|
||||||
|
} catch(eBodyMove) {}
|
||||||
|
body.setTranslationX(bodyMove);
|
||||||
body.setAlpha(1.0 - 0.10 * eased);
|
body.setAlpha(1.0 - 0.10 * eased);
|
||||||
var s = 1.0 - 0.015 * eased;
|
var s = 1.0 - 0.015 * eased;
|
||||||
body.setScaleX(s);
|
body.setScaleX(s);
|
||||||
@@ -934,6 +943,9 @@ FloatBallAppWM.prototype.createToolAppEdgeBackStrip = function(edge) {
|
|||||||
var my = event.getRawY() - downY;
|
var my = event.getRawY() - downY;
|
||||||
var validDir = (edge === 0 && mx > 0) || (edge === 1 && mx < 0);
|
var validDir = (edge === 0 && mx > 0) || (edge === 1 && mx < 0);
|
||||||
if (validDir && Math.abs(mx) > self.dp(4) && Math.abs(mx) > Math.abs(my)) {
|
if (validDir && Math.abs(mx) > self.dp(4) && Math.abs(mx) > Math.abs(my)) {
|
||||||
|
if (!moved) {
|
||||||
|
try { safeLog(self.L, 'd', 'edge strip move edge=' + String(edge) + ' mx=' + String(mx)); } catch(eMoveLog) {}
|
||||||
|
}
|
||||||
moved = true;
|
moved = true;
|
||||||
var triggerDp = Number(self.config.TOOLAPP_BACK_PROGRESS_DISTANCE_DP || 180);
|
var triggerDp = Number(self.config.TOOLAPP_BACK_PROGRESS_DISTANCE_DP || 180);
|
||||||
if (isNaN(triggerDp)) triggerDp = 180;
|
if (isNaN(triggerDp)) triggerDp = 180;
|
||||||
|
|||||||
@@ -34,8 +34,8 @@
|
|||||||
"size": 7938
|
"size": 7938
|
||||||
},
|
},
|
||||||
"th_09_animation.js": {
|
"th_09_animation.js": {
|
||||||
"sha256": "f7358773d9d4761038ac0ab65fa1f370d4577b4f5c8999d022a50ddd60f28418",
|
"sha256": "2570ffbbc33fa2318e27c5e99c4e78e1bf96c7da8ec134053acda009207488cb",
|
||||||
"size": 40993
|
"size": 42007
|
||||||
},
|
},
|
||||||
"th_10_shell.js": {
|
"th_10_shell.js": {
|
||||||
"sha256": "0ed793079c2f6ba7d29f4c0d411705cb72419f45f572cbe37ed32ac16527a8bc",
|
"sha256": "0ed793079c2f6ba7d29f4c0d411705cb72419f45f572cbe37ed32ac16527a8bc",
|
||||||
@@ -58,8 +58,8 @@
|
|||||||
"size": 304993
|
"size": 304993
|
||||||
},
|
},
|
||||||
"th_15_extra.js": {
|
"th_15_extra.js": {
|
||||||
"sha256": "2cfa025fb31802d45efec86b93515abafdc15b0213b29e449f4c1508a11aeff6",
|
"sha256": "019fe7752d33d65771ec9421c8760d8b907cf95cc6493a4c7379c35fc6336350",
|
||||||
"size": 108559
|
"size": 109063
|
||||||
},
|
},
|
||||||
"th_16_entry.js": {
|
"th_16_entry.js": {
|
||||||
"sha256": "6c59d9891cd010647f84c3db93f1cf95c7bbfb758470ea21044bf72eb8ff73d1",
|
"sha256": "6c59d9891cd010647f84c3db93f1cf95c7bbfb758470ea21044bf72eb8ff73d1",
|
||||||
@@ -68,5 +68,5 @@
|
|||||||
},
|
},
|
||||||
"keyId": "toolhub-targets-2026-rsa3072",
|
"keyId": "toolhub-targets-2026-rsa3072",
|
||||||
"schema": 2,
|
"schema": 2,
|
||||||
"version": 20260521215947
|
"version": 20260521221432
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
Q7x3zGDrx6H/5q0xEOY6JPD22CPaCXutvySNnKfIevW3cu+Db7vS5zDKhWm9tmuDkx2PMA4T0I673Tz5TPViqhn003j+5++tpaJQI3cCOFgLjH9QEPswBCglul9ge3vOGEiTJsjIYzqfzLDRWk4S7cdiw4Myzl9apKRzAdvQP7EPM88Dx9fu0xlLo6yZ8UQQ2UaDruxy4O2F7yIxuihNEYPy0QlaFivD/lu9TZxlUoY74w/MYsUrP7TGPHFp9Y84MO8IF/ZUaopqtPRVNCGSGWpzFNsZLE3hIPghg6Bm6YYApML8PDLFu3kEHxH0aUUZMXgbZQBCfFsCbmSQw3fL31seZpWX4QEtWQ8u3T+RlKOpT8HnC3VjoRXoqvvlOFG9yAiXi+b75JUF3geVOX4HHWOeMEOtO58s+f977pA/kRDksO3rzNdGa0ywZ6m3nFEMWrfhwqVyyp0vKlnVtJb+62wWqXsUxhOHWH9+r1dmeibObVtcrKBJlU2wJCez8Pbt
|
lKipQfJ13k9tmnFDCTT71bXXhhnx7hSVwNmVnBr0to6W8WjZUAhCT1p6/FvLI11ZgAqHTCHjTU6K1IhuP97itN3qduPXc9JocWcEVS5vkKKSsNVcf0pNMxoF37jz/J9ymHFVfSZpblTi0txulxBAu6iFG6fJsWbbjXcstHNZDckg4YTIIE0zHrhybe3KTlAcSRmhaoJjP0lDprJlipkbAUT6t68YTd0UBzbAdnzBffcwp/KvsAtZP8xfYMZBbaOUAKjvyyKUs8h5KDPo7bk26/CXZIPmLDonWxGDRQUHqK/7FS6gy7wAIW9gugP/NnTwWpvv0IXNgdPkVApyXkH/YAc8LCLKeJoKfvquNaeE+nzK+l27AuWld8TGZguUB8FhLEoxBlblKKMUfpwwAyAz29HR7mHgavaHO52UhBa0NcAY1lvRmtuosJx95Q5MiAC66iuYEFyWunbZlYcB8P3vdiOCNuc1RFTpzE9NgJONeEUQ6jL9dmUf2nLOPMB4SIR1
|
||||||
|
|||||||
Reference in New Issue
Block a user