import { Link, Navigate, useParams } from "react-router-dom";
{{#if hasRelations}}import Links from "../Links";{{/if}}
import { useRetrieve, useDelete } from "../../hooks";
import TResource from "./type";
import { TError } from "../../utils/types";
interface ShowProps {
retrieved: TResource | null;
loading: boolean;
error: TError;
deleteError: TError;
deleted: TResource | null;
del: (item: TResource) => any;
}
const ShowView = ({del, deleteError, deleted, error, loading, retrieved: item}: ShowProps) => {
if (deleted) {
return ;
}
const delWithConfirm = () => {
if (item && window.confirm("Are you sure you want to delete this item?")) {
del(item);
}
};
return (
Show {{{ucf}}} {item && item["@id"]}
{loading && (
Loading...
)}
{error && (
{" "}
{error.message}
)}
{deleteError && (
{" "}
{deleteError.message}
)}
{item && (
| Field |
Value |
{{#each fields}}
| {{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}}}']}retrieved
{{/if}}
|
{{/each}}
)}
Back to list
{item && (
)}
);
}
const Show = () => {
const { id } = useParams<{ id: string }>();
const {retrieved, loading, error} = useRetrieve(decodeURIComponent(id || ""));
const {deleted, error: deleteError, del} = useDelete();
return (
);
}
export default Show;