组件居中,可拖拽
This commit is contained in:
@@ -1,6 +1,14 @@
|
|||||||
"use client";
|
"use client";
|
||||||
|
|
||||||
import React, { useCallback, useEffect, useMemo, useState } from "react";
|
import React, {
|
||||||
|
useCallback,
|
||||||
|
useEffect,
|
||||||
|
useMemo,
|
||||||
|
useRef,
|
||||||
|
useState,
|
||||||
|
} from "react";
|
||||||
|
import Draggable from "react-draggable";
|
||||||
|
|
||||||
import {
|
import {
|
||||||
Box,
|
Box,
|
||||||
Button,
|
Button,
|
||||||
@@ -294,6 +302,7 @@ const SCADADataPanel: React.FC<SCADADataPanelProps> = ({
|
|||||||
const [selectedSource, setSelectedSource] = useState<
|
const [selectedSource, setSelectedSource] = useState<
|
||||||
"raw" | "clean" | "sim" | "all"
|
"raw" | "clean" | "sim" | "all"
|
||||||
>(() => (deviceIds.length === 1 ? "all" : "clean"));
|
>(() => (deviceIds.length === 1 ? "all" : "clean"));
|
||||||
|
const draggableRef = useRef<HTMLDivElement>(null);
|
||||||
|
|
||||||
// 获取 SCADA 设备信息,生成 deviceLabels
|
// 获取 SCADA 设备信息,生成 deviceLabels
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
@@ -648,12 +657,13 @@ const SCADADataPanel: React.FC<SCADADataPanelProps> = ({
|
|||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
{/* 主面板 */}
|
{/* 主面板 */}
|
||||||
|
<Draggable nodeRef={draggableRef}>
|
||||||
<Box
|
<Box
|
||||||
|
ref={draggableRef}
|
||||||
sx={{
|
sx={{
|
||||||
position: "fixed",
|
position: "absolute",
|
||||||
left: "50%",
|
right: "1rem",
|
||||||
top: "50%",
|
top: "1rem",
|
||||||
transform: "translate(-50%, -50%)",
|
|
||||||
width: "min(920px, calc(100vw - 2rem))",
|
width: "min(920px, calc(100vw - 2rem))",
|
||||||
maxWidth: "100vw",
|
maxWidth: "100vw",
|
||||||
height: "860px",
|
height: "860px",
|
||||||
@@ -856,6 +866,7 @@ const SCADADataPanel: React.FC<SCADADataPanelProps> = ({
|
|||||||
</Box>
|
</Box>
|
||||||
</Box>
|
</Box>
|
||||||
</Box>
|
</Box>
|
||||||
|
</Draggable>
|
||||||
</>
|
</>
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user