From ce7be6bbdf0edf069cb50aee64df187609893b92 Mon Sep 17 00:00:00 2001 From: TheArcaneBrony Date: Sat, 17 Jun 2023 20:58:51 +0200 Subject: Start refactor --- MatrixRoomUtils.Web/Shared/ModalWindow.razor | 130 +++++++++++++++++++++++++++ 1 file changed, 130 insertions(+) create mode 100644 MatrixRoomUtils.Web/Shared/ModalWindow.razor (limited to 'MatrixRoomUtils.Web/Shared') diff --git a/MatrixRoomUtils.Web/Shared/ModalWindow.razor b/MatrixRoomUtils.Web/Shared/ModalWindow.razor new file mode 100644 index 0000000..75c2933 --- /dev/null +++ b/MatrixRoomUtils.Web/Shared/ModalWindow.razor @@ -0,0 +1,130 @@ +
+
+ @Title + +
+
+ @ChildContent +
+
+ + + +@code { + + [Parameter] + public RenderFragment? ChildContent { get; set; } + + [Parameter] + public string Title { get; set; } = "Untitled window"; + + [Parameter] + public double X { get; set; } = 60; + + [Parameter] + public double Y { get; set; } = 60; + + [Parameter] + public Action OnCloseClicked { get; set; } + + + private double _x = 60; + private double _y = 60; + + protected override void OnInitialized() { + _x = X; + _y = Y; + } + + private void WindowDrag(DragEventArgs obj) { + Console.WriteLine("Drag: " + obj.ToJson()); + + _x += obj.MovementX; + _y += obj.MovementY; + + StateHasChanged(); + } + + private bool isDragging = false; + private double dragX = 0; + private double dragY = 0; + private void MouseDown(MouseEventArgs obj) { + isDragging = true; + dragX = obj.ClientX; + dragY = obj.ClientY; + } + + private void MouseUp(MouseEventArgs obj) { + isDragging = false; + } + + private void MouseMove(MouseEventArgs obj) { + if (isDragging) { + _x += obj.ClientX - dragX; + _y += obj.ClientY - dragY; + dragX = obj.ClientX; + dragY = obj.ClientY; + StateHasChanged(); + } + } + +} \ No newline at end of file -- cgit 1.5.1