@@ -498,6 +498,8 @@ const DatasetDetailPage: React.FC = () => {
498498 "Is Internal:" ,
499499 isInternal
500500 ) ;
501+ // Clear any stale preview type from last run
502+ delete ( window as any ) . __previewType ;
501503 // fix spinner
502504 setIsPreviewLoading ( true ) ; // Show the spinner overlay
503505 setPreviewIndex ( idx ) ;
@@ -515,14 +517,21 @@ const DatasetDetailPage: React.FC = () => {
515517 // };
516518
517519 const is2DPreviewCandidate = ( obj : any ) : boolean => {
518- // return true;
519- console . log ( "obj" , obj ) ;
520- if ( typeof obj === "string" && obj . includes ( "db=optics-at-martinos" ) ) {
521- return false ;
522- }
523- if ( typeof obj === "string" && obj . endsWith ( ".jdb" ) ) {
524- return true ;
520+ if ( typeof window !== "undefined" && ( window as any ) . __previewType ) {
521+ return ( window as any ) . __previewType === "2d" ;
525522 }
523+ // if (window.__previewType) {
524+ // console.log("work~~~~~~~");
525+ // return window.__previewType === "2d";
526+ // }
527+ console . log ( "is 2d preview candidate !== 2d" ) ;
528+ console . log ( "obj" , obj ) ;
529+ // if (typeof obj === "string" && obj.includes("db=optics-at-martinos")) {
530+ // return false;
531+ // }
532+ // if (typeof obj === "string" && obj.endsWith(".jdb")) {
533+ // return true;
534+ // }
526535 if ( ! obj || typeof obj !== "object" ) {
527536 return false ;
528537 }
@@ -540,22 +549,6 @@ const DatasetDetailPage: React.FC = () => {
540549 ( dim . length === 1 || dim . length === 2 ) &&
541550 dim . every ( ( v ) => typeof v === "number" && v > 0 )
542551 ) ;
543-
544- // 2. Ensure `dim` is a valid array of numbers.
545- // if (!Array.isArray(dim) || dim.some((v) => typeof v !== "number")) {
546- // return false;
547- // }
548-
549- // 3. THE CORE FIX: Count dimensions with a size greater than 1.
550- // const significantDimensions = dim.filter((size) => size > 1).length;
551-
552- // 4. If there are 1 or 2 significant dimensions, it can be plotted in 2D.
553- // This will correctly handle shapes like:
554- // - [1500] (significantDimensions = 1) -> true
555- // - [52, 1500] (significantDimensions = 2) -> true
556- // - [52, 1500, 1] (significantDimensions = 2) -> true
557- // - [64, 64, 20] (significantDimensions = 3) -> false
558- // return significantDimensions > 0 && significantDimensions <= 2;
559552 } ;
560553 // for add spinner ---- start
561554 // When legacy preview is actually ready, turn off spinner & open modal
@@ -566,6 +559,7 @@ const DatasetDetailPage: React.FC = () => {
566559 setPreviewOpen ( true ) ;
567560 }
568561 delete window . __onPreviewReady ;
562+ delete ( window as any ) . __previewType ; // for is2DPreviewCandidate
569563 } ;
570564 // -----end
571565
0 commit comments