Skip to content

Commit c6fb962

Browse files
Improvements to edit/create forms (#700)
1 parent e36ad48 commit c6fb962

1 file changed

Lines changed: 20 additions & 8 deletions

File tree

admin-js/src/App.js

Lines changed: 20 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import {
22
Admin, Create, Datagrid, DatagridConfigurable, Edit, EditButton, List, HttpError, Resource, SimpleForm,
33
SelectColumnsButton, CreateButton, FilterButton, ExportButton, TopToolbar,
4+
DeleteButton, SaveButton, Toolbar,
45
AppBar, InspectorButton, Layout, TitlePortal,
56
BulkDeleteButton, BulkExportButton, BulkUpdateButton,
67
SimpleShowLayout, Show,
@@ -237,17 +238,28 @@ const AiohttpShow = (resource, name, permissions) => (
237238
</Show>
238239
);
239240

240-
const AiohttpEdit = (resource, name, permissions) => (
241-
<Edit>
242-
<SimpleForm>
243-
{createInputs(resource, name, "edit", permissions)}
244-
</SimpleForm>
245-
</Edit>
246-
);
241+
const AiohttpEdit = (resource, name, permissions) => {
242+
const AiohttpEditToolbar = props => (
243+
<Toolbar {...props} sx={{ display: "flex", justifyContent: "space-between" }}>
244+
<SaveButton />
245+
<WithRecord render={
246+
(record) => hasPermission(`${name}.delete`, permissions, record) && <DeleteButton />
247+
} />
248+
</Toolbar>
249+
);
250+
251+
return(
252+
<Edit mutationMode="pessimistic">
253+
<SimpleForm toolbar={<AiohttpEditToolbar />} sanitizeEmptyValues>
254+
{createInputs(resource, name, "edit", permissions)}
255+
</SimpleForm>
256+
</Edit>
257+
);
258+
}
247259

248260
const AiohttpCreate = (resource, name, permissions) => (
249261
<Create>
250-
<SimpleForm>
262+
<SimpleForm sanitizeEmptyValues>
251263
{createInputs(resource, name, "add", permissions)}
252264
</SimpleForm>
253265
</Create>

0 commit comments

Comments
 (0)