import * as React from "react"; import { Observable } from "rxjs"; import { CProps, ComponentList, ComponentListProps } from "../runtime"; import { Arc as Protocol, ArcConfig as ProtocolConfig } from "../protocol"; import { ArcScheme as Component, SchemeEntity as Entity, SchemeData as Data } from "./"; import { ISchemeQueryOptions as FilterOptions } from "@daostack/client"; interface RequiredProps extends ComponentListProps { } interface InferredProps { arcConfig: ProtocolConfig | undefined; } type Props = RequiredProps & InferredProps; class ArcSchemes extends ComponentList { createObservableEntities(): Observable { const { arcConfig, filter } = this.props; if (!arcConfig) { throw Error("Arc Config Missing: Please provide this field as a prop, or use the inference component."); } return Entity.search(arcConfig.connection, filter); } renderComponent(entity: Entity, children: any): React.ComponentElement, any> { const { arcConfig } = this.props; return ( {children} ); } } class Schemes extends React.Component { render() { const { children, sort, filter } = this.props; return ( {(arcConfig: ProtocolConfig) => {children} } ); } } export default Schemes; export { ArcSchemes, Schemes };