import { Link, useParams } from "react-router-dom"; import Links from "../Links"; import Pagination from "../Pagination"; import { useRetrieve } from "../../hooks"; import { PagedCollection } from "../../interfaces/Collection"; import TResource from "./type"; import { TError } from "../../utils/types"; interface ListProps { retrieved: PagedCollection | null; loading: boolean; error: TError; } const ListView = ({error, loading, retrieved}: ListProps) => { const items = (retrieved && retrieved["hydra:member"]) || []; return (

{{{title}}} List

{loading && (
Loading...
)} {error && (
{error.message}
)}

Create

{{#each fields}} {{/each}} {items.map(item => ( {{#each fields}} {{/each}} ))}
id{{name}}
{{#if isReferences}} ({ href: `/{{{reference.name}}}/show/${encodeURIComponent(ref)}`, name: ref })) } /> {{else if reference}} {{else if isEmbeddeds}} ({ href: `/{{{embedded.name}}}/show/${encodeURIComponent(emb["@id"])}`, name: emb["@id"] }))}/> {{else if embedded}} {{else}} {item['{{{name}}}']} {{/if}}
); } const List = () => { const { page } = useParams<{ page?: string }>(); const id = (page && decodeURIComponent(page)) || "{{{name}}}"; const {retrieved, loading, error} = useRetrieve>(id); return ( ); } export default List;