diff --git a/frontend/packages/core/src/components/HighDimensionalPage/TSNEDetail.tsx b/frontend/packages/core/src/components/HighDimensionalPage/TSNEDetail.tsx index 7b485f2cb093d88968a6e4b414ea5636b12941be..d3c3f8b1876543d6f1a3573570eb85276db20ae5 100644 --- a/frontend/packages/core/src/components/HighDimensionalPage/TSNEDetail.tsx +++ b/frontend/packages/core/src/components/HighDimensionalPage/TSNEDetail.tsx @@ -14,7 +14,7 @@ * limitations under the License. */ -import React, {FunctionComponent, useCallback, useState} from 'react'; +import React, {FunctionComponent, useCallback, useEffect, useState} from 'react'; import Button from '~/components/Button'; import Field from '~/components/Field'; @@ -33,6 +33,7 @@ export type TSNEDetailProps = { iteration: number; perplexity: number; learningRate: number; + is3D: boolean; onChangePerplexity?: (perplexity: number) => void; onChangeLearningRate?: (learningRate: number) => void; onPause?: () => void; @@ -45,6 +46,7 @@ const TSNEDetail: FunctionComponent = ({ iteration, perplexity, learningRate, + is3D, onChangePerplexity, onChangeLearningRate, onPause, @@ -98,6 +100,11 @@ const TSNEDetail: FunctionComponent = ({ }); }, [onRerun, onStop]); + useEffect(() => { + setPaused(false); + setStopped(false); + }, [is3D]); + return ( <> diff --git a/frontend/packages/core/src/pages/high-dimensional.tsx b/frontend/packages/core/src/pages/high-dimensional.tsx index bd8bd9e392eab0a54c7e840aaee30c71aefea468..c148a941679094617ec508cd243aa3ceae1ae83d 100644 --- a/frontend/packages/core/src/pages/high-dimensional.tsx +++ b/frontend/packages/core/src/pages/high-dimensional.tsx @@ -364,6 +364,7 @@ const HighDimensional: FunctionComponent = () => { iteration={(data as TSNEResult)?.step ?? 0} perplexity={perplexity} learningRate={learningRate} + is3D={is3D} onChangePerplexity={setPerplexity} onChangeLearningRate={setLearningRate} onPause={chart.current?.pauseTSNE} @@ -377,7 +378,7 @@ const HighDimensional: FunctionComponent = () => { default: return null as never; } - }, [reduction, dimension, data, perplexity, learningRate, neighbors, runUMAP]); + }, [reduction, dimension, data, perplexity, learningRate, is3D, neighbors, runUMAP]); const aside = useMemo( () => (