From 4330ed5c00cf21cacce04cd06b4cfff3b4315ff4 Mon Sep 17 00:00:00 2001 From: Denis Voituron Date: Fri, 5 Jul 2024 17:00:44 +0200 Subject: [PATCH 1/2] Fix the Splitter OnMouseMove --- .../Examples/MultiSplitterDefault.razor | 8 +++++- .../Splitter/FluentMultiSplitter.razor.js | 25 +++++++++++++------ 2 files changed, 25 insertions(+), 8 deletions(-) diff --git a/examples/Demo/Shared/Pages/Splitter/Examples/MultiSplitterDefault.razor b/examples/Demo/Shared/Pages/Splitter/Examples/MultiSplitterDefault.razor index c5259c1cb7..a66964db07 100644 --- a/examples/Demo/Shared/Pages/Splitter/Examples/MultiSplitterDefault.razor +++ b/examples/Demo/Shared/Pages/Splitter/Examples/MultiSplitterDefault.razor @@ -3,7 +3,7 @@ Left Menu - + Main Content @@ -23,4 +23,10 @@ { DemoLogger.WriteLine($"Pane {e.PaneIndex} Resize (New size {e.NewSize})"); } + + void OnCollapseExpand(FluentMultiSplitterEventArgs e) + { + bool willCollapse = !e.Pane.Collapsed; + DemoLogger.WriteLine($"Pane {e.PaneIndex} {(willCollapse ? "collapsed" : "expanded")}"); + } } diff --git a/src/Core/Components/Splitter/FluentMultiSplitter.razor.js b/src/Core/Components/Splitter/FluentMultiSplitter.razor.js index b6de801932..9cace4a5d5 100644 --- a/src/Core/Components/Splitter/FluentMultiSplitter.razor.js +++ b/src/Core/Components/Splitter/FluentMultiSplitter.razor.js @@ -73,27 +73,38 @@ export function startSplitterResize( paneLength: paneLength, paneNextLength: isFinite(paneNextLength) ? paneNextLength : 0, mouseUpHandler: function (e) { + console.log("Up", e); if (document.splitterData[el] && pane.style.flexBasis.includes('%') && paneNext.style.flexBasis.includes('%')) { - splitter.invokeMethodAsync( - 'FluentMultiSplitter.OnPaneResizedAsync', - parseInt(pane.getAttribute('data-index')), - parseFloat(pane.style.flexBasis), - paneNext ? parseInt(paneNext.getAttribute('data-index')) : null, - paneNext ? parseFloat(paneNext.style.flexBasis) : null - ); + if (document.splitterData[el].moved === true) { + splitter.invokeMethodAsync( + 'FluentMultiSplitter.OnPaneResizedAsync', + parseInt(pane.getAttribute('data-index')), + parseFloat(pane.style.flexBasis), + paneNext ? parseInt(paneNext.getAttribute('data-index')) : null, + paneNext ? parseFloat(paneNext.style.flexBasis) : null + ); + } + document.removeEventListener('mousemove', document.splitterData[el].mouseMoveHandler); document.removeEventListener('mouseup', document.splitterData[el].mouseUpHandler); document.removeEventListener('touchmove', document.splitterData[el].touchMoveHandler); document.removeEventListener('touchend', document.splitterData[el].mouseUpHandler); document.splitterData[el] = null; } + + if (document.splitterData[el]) { + document.splitterData[el].moved = false; + } }, mouseMoveHandler: function (e) { + console.log("moved", e); if (document.splitterData[el]) { + document.splitterData[el].moved = true; + var spacePerc = document.splitterData[el].panePerc + document.splitterData[el].paneNextPerc; var spaceLength = document.splitterData[el].paneLength + document.splitterData[el].paneNextLength; From 95623d3df7749a91f7c1e76317058087b6b8972f Mon Sep 17 00:00:00 2001 From: Denis Voituron Date: Fri, 5 Jul 2024 17:08:40 +0200 Subject: [PATCH 2/2] Remove traces --- src/Core/Components/Splitter/FluentMultiSplitter.razor.js | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/Core/Components/Splitter/FluentMultiSplitter.razor.js b/src/Core/Components/Splitter/FluentMultiSplitter.razor.js index 9cace4a5d5..44858cf7e1 100644 --- a/src/Core/Components/Splitter/FluentMultiSplitter.razor.js +++ b/src/Core/Components/Splitter/FluentMultiSplitter.razor.js @@ -73,7 +73,6 @@ export function startSplitterResize( paneLength: paneLength, paneNextLength: isFinite(paneNextLength) ? paneNextLength : 0, mouseUpHandler: function (e) { - console.log("Up", e); if (document.splitterData[el] && pane.style.flexBasis.includes('%') && paneNext.style.flexBasis.includes('%')) { @@ -100,7 +99,6 @@ export function startSplitterResize( } }, mouseMoveHandler: function (e) { - console.log("moved", e); if (document.splitterData[el]) { document.splitterData[el].moved = true;