# HG changeset patch
# User Frank Bessou <frank.bessou@logilab.fr>
# Date 1614253035 -3600
#      Thu Feb 25 12:37:15 2021 +0100
# Node ID eb356ab55f0301e15bc636345abeff3c1577999a
# Parent  ee0b249da2fc1c8d492a0400efb9a5ad33cd6be1
feat(demo): allow to create museums

Demonstrates how to create relationships to existing entities

diff --git a/packages/demo/src/App.tsx b/packages/demo/src/App.tsx
--- a/packages/demo/src/App.tsx
+++ b/packages/demo/src/App.tsx
@@ -1,6 +1,8 @@
 import * as React from "react";
 import {
   Admin,
+  Create,
+  CreateProps,
   Resource,
   List,
   Datagrid,
@@ -14,6 +16,8 @@
   SimpleForm,
   TextInput,
   NumberInput,
+  ReferenceInput,
+  AutocompleteInput,
   EditProps,
   ShowProps,
   ListProps,
@@ -54,6 +58,26 @@
   </Edit>
 );
 
+const MuseumCreate = (props: CreateProps) => (
+  <Create {...props}>
+    <SimpleForm>
+      <TextInput source="name" />
+      <NumberInput source="latitude" />
+      <NumberInput source="longitude" />
+      <TextInput source="postal_address" />
+      <ReferenceInput
+        label="City"
+        source="is_in"
+        reference="City"
+        sort={{ field: "name", order: "ASC" }}
+        filterToQuery={(text: string) => ({ name: text })}
+      >
+        <AutocompleteInput optionText="name" />
+      </ReferenceInput>
+    </SimpleForm>
+  </Create>
+);
+
 const MuseumFilter = (props: Omit<FilterProps, "children">) => (
   <Filter {...props}>
     <SearchInput source="name" alwaysOn />
@@ -118,6 +142,7 @@
       list={MuseumList}
       show={MuseumShow}
       edit={MuseumEdit}
+      create={MuseumCreate}
     />
     <Resource name="City" list={CityList} show={CityShow} />
   </Admin>