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 { ArcDAO as Component, DAOEntity as Entity, DAOData as Data } from "./"; import { IDAOQueryOptions as FilterOptions } from "@daostack/client"; interface RequiredProps extends ComponentListProps { } interface InferredProps { arcConfig: ProtocolConfig | undefined; } type Props = RequiredProps & InferredProps; class ArcDAOs 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 DAOs extends React.Component { render() { const { children, sort, filter } = this.props; return ( {(arcConfig: ProtocolConfig) => {children} } ); } } export default DAOs; export { ArcDAOs, DAOs };