fix(analysis): preserve tab panel state
This commit is contained in:
@@ -19,8 +19,14 @@ import {
|
||||
} from "@mui/icons-material";
|
||||
import { useMap } from "@components/olmap/core/MapComponent";
|
||||
import StyleLegend from "@components/olmap/core/Controls/StyleLegend";
|
||||
import AnalysisParameters from "./AnalysisParameters";
|
||||
import SchemeQuery from "./SchemeQuery";
|
||||
import AnalysisParameters, {
|
||||
createDMALeakAnalysisParametersState,
|
||||
type DMALeakAnalysisParametersState,
|
||||
} from "./AnalysisParameters";
|
||||
import SchemeQuery, {
|
||||
createDMALeakSchemeQueryState,
|
||||
type DMALeakSchemeQueryState,
|
||||
} from "./SchemeQuery";
|
||||
import RecognitionResults from "./RecognitionResults";
|
||||
import { applyJunctionAreaRender } from "./applyJunctionAreaRender";
|
||||
import { getAreaColor } from "./utils";
|
||||
@@ -49,6 +55,13 @@ const DMALeakDetectionPanel: React.FC = () => {
|
||||
const [result, setResult] = useState<LeakageResultDetail | null>(null);
|
||||
const [loadedResult, setLoadedResult] = useState<LeakageResultDetail | null>(null);
|
||||
const [schemes, setSchemes] = useState<LeakageSchemeRecord[]>([]);
|
||||
const [analysisState, setAnalysisState] =
|
||||
useState<DMALeakAnalysisParametersState>(
|
||||
createDMALeakAnalysisParametersState,
|
||||
);
|
||||
const [queryState, setQueryState] = useState<DMALeakSchemeQueryState>(
|
||||
createDMALeakSchemeQueryState,
|
||||
);
|
||||
|
||||
const drawerWidth = 450;
|
||||
const panelTitle = "DMA 漏损识别";
|
||||
@@ -196,10 +209,20 @@ const DMALeakDetectionPanel: React.FC = () => {
|
||||
</Tabs>
|
||||
</Box>
|
||||
<TabPanel value={tab} index={0}>
|
||||
<AnalysisParameters onResult={handleAnalysisResult} />
|
||||
<AnalysisParameters
|
||||
onResult={handleAnalysisResult}
|
||||
state={analysisState}
|
||||
onStateChange={setAnalysisState}
|
||||
/>
|
||||
</TabPanel>
|
||||
<TabPanel value={tab} index={1}>
|
||||
<SchemeQuery onViewResult={handleViewResult} schemes={schemes} onSchemesChange={setSchemes} />
|
||||
<SchemeQuery
|
||||
onViewResult={handleViewResult}
|
||||
schemes={schemes}
|
||||
onSchemesChange={setSchemes}
|
||||
state={queryState}
|
||||
onStateChange={setQueryState}
|
||||
/>
|
||||
</TabPanel>
|
||||
<TabPanel value={tab} index={2}>
|
||||
<RecognitionResults result={result} />
|
||||
|
||||
Reference in New Issue
Block a user