Skip to content

Commit c4e287e

Browse files
authored
Merge pull request #127 from Kitware/suspense-hook
Add onViewReadySuspense hook
2 parents 5bd0ec1 + d47f388 commit c4e287e

23 files changed

+226
-40
lines changed

src/core/Algorithm.tsx

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,8 @@ import { usePrevious } from '../utils/usePrevious';
88
import useUnmount from '../utils/useUnmount';
99
import {
1010
DownstreamContext,
11-
useDownstream,
12-
useRepresentation,
11+
useDownstreamContext,
12+
useRepresentationContext,
1313
} from './contexts';
1414

1515
export interface AlgorithmProps extends PropsWithChildren {
@@ -46,8 +46,8 @@ export default function Algorithm(props: AlgorithmProps) {
4646
return algo;
4747
});
4848

49-
const representation = useRepresentation();
50-
const downstream = useDownstream();
49+
const representation = useRepresentationContext();
50+
const downstream = useDownstreamContext();
5151

5252
useEffect(() => {
5353
let algoChanged = false;

src/core/CellData.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
import { PropsWithChildren, useCallback } from 'react';
2-
import { FieldDataContext, useDataset } from './contexts';
2+
import { FieldDataContext, useDatasetContext } from './contexts';
33

44
export default function CellData(props: PropsWithChildren) {
5-
const dataset = useDataset();
5+
const dataset = useDatasetContext();
66
const getCellData = useCallback(() => {
77
return dataset.getDataSet().getCellData();
88
}, [dataset]);

src/core/DataArray.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ import deletionRegistry from '../utils/DeletionRegistry';
88
import useGetterRef from '../utils/useGetterRef';
99
import { usePrevious } from '../utils/usePrevious';
1010
import useUnmount from '../utils/useUnmount';
11-
import { useDataset, useFieldData } from './contexts';
11+
import { useDatasetContext, useFieldDataContext } from './contexts';
1212

1313
export interface DataArrayProps {
1414
/**
@@ -61,8 +61,8 @@ export default function DataArray(props: DataArrayProps) {
6161
return da;
6262
});
6363

64-
const getFieldData = useFieldData();
65-
const dataset = useDataset();
64+
const getFieldData = useFieldDataContext();
65+
const dataset = useDatasetContext();
6666

6767
const { registration = DefaultProps.registration } = props;
6868

src/core/Dataset.tsx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
import { vtkObject } from '@kitware/vtk.js/interfaces';
22
import { useEffect } from 'react';
3-
import { useDownstream, useRepresentation } from './contexts';
3+
import { useDownstreamContext, useRepresentationContext } from './contexts';
44

55
export interface DatasetProps {
66
dataset: vtkObject | null;
77
}
88

99
export default function Dataset(props: DatasetProps) {
10-
const representation = useRepresentation();
11-
const downstream = useDownstream();
10+
const representation = useRepresentationContext();
11+
const downstream = useDownstreamContext();
1212

1313
const { dataset } = props;
1414

src/core/FieldData.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
import { PropsWithChildren, useCallback } from 'react';
2-
import { FieldDataContext, useDataset } from './contexts';
2+
import { FieldDataContext, useDatasetContext } from './contexts';
33

44
export default function FieldData(props: PropsWithChildren) {
5-
const dataset = useDataset();
5+
const dataset = useDatasetContext();
66
const getFieldData = useCallback(() => {
77
return dataset.getDataSet().getFieldData();
88
}, [dataset]);

src/core/ImageData.tsx

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,11 @@ import { IDataset } from '../types';
1111
import deletionRegistry from '../utils/DeletionRegistry';
1212
import useGetterRef from '../utils/useGetterRef';
1313
import useUnmount from '../utils/useUnmount';
14-
import { DatasetContext, useDownstream, useRepresentation } from './contexts';
14+
import {
15+
DatasetContext,
16+
useDownstreamContext,
17+
useRepresentationContext,
18+
} from './contexts';
1519

1620
export interface ImageDataProps extends PropsWithChildren {
1721
/**
@@ -63,8 +67,8 @@ export default forwardRef(function PolyData(props: ImageDataProps, fwdRef) {
6367
return im;
6468
});
6569

66-
const representation = useRepresentation();
67-
const downstream = useDownstream();
70+
const representation = useRepresentationContext();
71+
const downstream = useDownstreamContext();
6872

6973
// dataset API
7074
const dataset = useMemo<IDataset<vtkImageData>>(

src/core/PointData.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
import { PropsWithChildren, useCallback } from 'react';
2-
import { FieldDataContext, useDataset } from './contexts';
2+
import { FieldDataContext, useDatasetContext } from './contexts';
33

44
export default function PointData(props: PropsWithChildren) {
5-
const dataset = useDataset();
5+
const dataset = useDatasetContext();
66
const getPointData = useCallback(() => {
77
return dataset.getDataSet().getPointData();
88
}, [dataset]);

src/core/PolyData.tsx

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,11 @@ import deletionRegistry from '../utils/DeletionRegistry';
1717
import useGetterRef from '../utils/useGetterRef';
1818
import { usePrevious } from '../utils/usePrevious';
1919
import useUnmount from '../utils/useUnmount';
20-
import { DatasetContext, useDownstream, useRepresentation } from './contexts';
20+
import {
21+
DatasetContext,
22+
useDownstreamContext,
23+
useRepresentationContext,
24+
} from './contexts';
2125

2226
export interface PolyDataProps extends PropsWithChildren {
2327
/**
@@ -103,8 +107,8 @@ export default forwardRef(function PolyData(props: PolyDataProps, fwdRef) {
103107
return pd;
104108
});
105109

106-
const representation = useRepresentation();
107-
const downstream = useDownstream();
110+
const representation = useRepresentationContext();
111+
const downstream = useDownstreamContext();
108112

109113
// dataset API
110114
const dataset = useMemo<IDataset<vtkPolyData>>(

src/core/Reader.tsx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import vtk from '@kitware/vtk.js/vtk';
44
import { PropsWithChildren, useCallback, useEffect, useRef } from 'react';
55
import { VtkConstructor } from '../types';
66
import deletionRegistry from '../utils/DeletionRegistry';
7-
import { useDownstream, useRepresentation } from './contexts';
7+
import { useDownstreamContext, useRepresentationContext } from './contexts';
88

99
export interface ReaderProps extends PropsWithChildren {
1010
/**
@@ -71,7 +71,7 @@ export default function Reader(props: ReaderProps) {
7171
);
7272
}
7373

74-
const representation = useRepresentation();
74+
const representation = useRepresentationContext();
7575

7676
const createReader = useCallback(() => {
7777
if (typeof vtkClass === 'string') {
@@ -138,7 +138,7 @@ export default function Reader(props: ReaderProps) {
138138

139139
// --- downstream registration --- //
140140

141-
const downstream = useDownstream();
141+
const downstream = useDownstreamContext();
142142
const { port } = props;
143143

144144
useEffect(() => {

src/core/ShareDataSet.tsx

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -27,9 +27,9 @@ import {
2727
DownstreamContext,
2828
RepresentationContext,
2929
ShareDataSetContext,
30-
useDownstream,
31-
useRepresentation,
32-
useShareDataSet,
30+
useDownstreamContext,
31+
useRepresentationContext,
32+
useShareDataSetContext,
3333
} from './contexts';
3434
import useDataEvents from './modules/useDataEvents';
3535

@@ -138,7 +138,7 @@ export interface RegisterDataSetProps extends PropsWithChildren {
138138
}
139139

140140
export function RegisterDataSet(props: RegisterDataSetProps) {
141-
const share = useShareDataSet();
141+
const share = useShareDataSetContext();
142142
const { id } = props;
143143

144144
// --- handle registrations --- //
@@ -206,10 +206,10 @@ export interface UseDataSetProps extends PropsWithChildren {
206206

207207
export function UseDataSet(props: UseDataSetProps) {
208208
const { id, port = 0 } = props;
209-
const share = useShareDataSet();
209+
const share = useShareDataSetContext();
210210
// TODO if useDataSet is input to an algorithm, should representation be null?
211-
const representation = useRepresentation();
212-
const downstream = useDownstream();
211+
const representation = useRepresentationContext();
212+
const downstream = useDownstreamContext();
213213

214214
useEffect(() => {
215215
return share.onDataAvailable(id, (ds) => {

0 commit comments

Comments
 (0)