diff --git a/src/core/client/framework/lib/relay/withPaginationContainer.ts b/src/core/client/framework/lib/relay/withPaginationContainer.ts index 0d01887b5..bb2740d01 100644 --- a/src/core/client/framework/lib/relay/withPaginationContainer.ts +++ b/src/core/client/framework/lib/relay/withPaginationContainer.ts @@ -10,9 +10,13 @@ import { InferableComponentEnhancerWithProps } from "recompose"; * withPaginationContainer is a curried version of `createPaginationContainers` * from Relay. */ -export default ( +export default ( fragmentSpec: { [P in keyof T]: GraphQLTaggedNode }, - connectionConfig: ConnectionConfig + connectionConfig: ConnectionConfig< + InnerProps, + FragmentVariables, + QueryVariables + > ): InferableComponentEnhancerWithProps< T & { relay: RelayPaginationProp }, { [P in keyof T]: any } diff --git a/src/core/client/stream/containers/StreamContainer.tsx b/src/core/client/stream/containers/StreamContainer.tsx index 63920a410..0a169ad3a 100644 --- a/src/core/client/stream/containers/StreamContainer.tsx +++ b/src/core/client/stream/containers/StreamContainer.tsx @@ -4,6 +4,10 @@ import { graphql, RelayPaginationProp } from "react-relay"; import { withPaginationContainer } from "talk-framework/lib/relay"; import { PropTypesOf } from "talk-framework/types"; import { StreamContainer_asset as Data } from "talk-stream/__generated__/StreamContainer_asset.graphql"; +import { + COMMENT_SORT, + StreamContainerPaginationQueryVariables, +} from "talk-stream/__generated__/StreamContainerPaginationQuery.graphql"; import Stream from "../components/Stream"; @@ -44,7 +48,19 @@ class StreamContainer extends React.Component { }; } -const enhanced = withPaginationContainer<{ asset: Data }, InnerProps>( +// TODO: (cvle) This should be autogenerated. +interface FragmentVariables { + count: number; + cursor?: string; + orderBy: COMMENT_SORT; +} + +const enhanced = withPaginationContainer< + { asset: Data }, + InnerProps, + FragmentVariables, + StreamContainerPaginationQueryVariables +>( { asset: graphql` fragment StreamContainer_asset on Asset