Skip to content

Commit 1901275

Browse files
authored
Fix override code for page components (#577)
1 parent 1fdc59e commit 1901275

File tree

4 files changed

+64
-28
lines changed

4 files changed

+64
-28
lines changed

src/create/CreateGuesser.tsx

Lines changed: 16 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -18,20 +18,29 @@ import type {
1818
} from '../types.js';
1919

2020
const getOverrideCode = (schema: Resource, fields: Field[]) => {
21-
let code =
22-
'If you want to override at least one input, paste this content in the <CreateGuesser> component of your resource:\n\n';
23-
24-
code += `const ${schema.title}Create = () => (\n`;
21+
let code = `If you want to override at least one input, create a ${schema.title}Create component with this content:\n`;
22+
code += `\n`;
23+
code += `import { CreateGuesser, InputGuesser } from "@api-platform/admin";\n`;
24+
code += `\n`;
25+
code += `export const ${schema.title}Create = () => (\n`;
2526
code += ` <CreateGuesser>\n`;
26-
2727
fields.forEach((field) => {
2828
code += ` <InputGuesser source="${field.name}" />\n`;
2929
});
3030
code += ` </CreateGuesser>\n`;
3131
code += `);\n`;
3232
code += `\n`;
33-
code += `And don't forget update your <ResourceGuesser> component:\n`;
34-
code += `<ResourceGuesser name="${schema.name}" create={${schema.title}Create} />`;
33+
code += `Then, update your main admin component:\n`;
34+
code += `\n`;
35+
code += `import { HydraAdmin, ResourceGuesser } from "@api-platform/admin";\n`;
36+
code += `import { ${schema.title}Create } from './${schema.title}Create';\n`;
37+
code += `\n`;
38+
code += `const App = () => (\n`;
39+
code += ` <HydraAdmin entrypoint={...}>\n`;
40+
code += ` <ResourceGuesser name="${schema.name}" create={${schema.title}Create} />\n`;
41+
code += ` {/* ... */}\n`;
42+
code += ` </HydraAdmin>\n`;
43+
code += `);\n`;
3544

3645
return code;
3746
};

src/edit/EditGuesser.tsx

Lines changed: 16 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -20,20 +20,29 @@ import type {
2020
} from '../types.js';
2121

2222
const getOverrideCode = (schema: Resource, fields: Field[]) => {
23-
let code =
24-
'If you want to override at least one input, paste this content in the <EditGuesser> component of your resource:\n\n';
25-
26-
code += `const ${schema.title}Edit = () => (\n`;
23+
let code = `If you want to override at least one input, create a ${schema.title}Edit component with this content:\n`;
24+
code += `\n`;
25+
code += `import { EditGuesser, InputGuesser } from "@api-platform/admin";\n`;
26+
code += `\n`;
27+
code += `export const ${schema.title}Edit = () => (\n`;
2728
code += ` <EditGuesser>\n`;
28-
2929
fields.forEach((field) => {
3030
code += ` <InputGuesser source="${field.name}" />\n`;
3131
});
3232
code += ` </EditGuesser>\n`;
3333
code += `);\n`;
3434
code += `\n`;
35-
code += `And don't forget update your <ResourceGuesser> component:\n`;
36-
code += `<ResourceGuesser name="${schema.name}" edit={${schema.title}Edit} />`;
35+
code += `Then, update your main admin component:\n`;
36+
code += `\n`;
37+
code += `import { HydraAdmin, ResourceGuesser } from "@api-platform/admin";\n`;
38+
code += `import { ${schema.title}Edit } from './${schema.title}Edit';\n`;
39+
code += `\n`;
40+
code += `const App = () => (\n`;
41+
code += ` <HydraAdmin entrypoint={...}>\n`;
42+
code += ` <ResourceGuesser name="${schema.name}" edit={${schema.title}Edit} />\n`;
43+
code += ` {/* ... */}\n`;
44+
code += ` </HydraAdmin>\n`;
45+
code += `);\n`;
3746

3847
return code;
3948
};

src/list/ListGuesser.tsx

Lines changed: 16 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -23,20 +23,29 @@ import type {
2323
} from '../types.js';
2424

2525
const getOverrideCode = (schema: Resource, fields: Field[]) => {
26-
let code =
27-
'If you want to override at least one field, paste this content in the <ListGuesser> component of your resource:\n\n';
28-
29-
code += `const ${schema.title}List = () => (\n`;
26+
let code = `If you want to override at least one field, create a ${schema.title}List component with this content:\n`;
27+
code += `\n`;
28+
code += `import { ListGuesser, FieldGuesser } from "@api-platform/admin";\n`;
29+
code += `\n`;
30+
code += `export const ${schema.title}List = () => (\n`;
3031
code += ` <ListGuesser>\n`;
31-
3232
fields.forEach((field) => {
3333
code += ` <FieldGuesser source="${field.name}" />\n`;
3434
});
3535
code += ` </ListGuesser>\n`;
3636
code += `);\n`;
3737
code += `\n`;
38-
code += `And don't forget update your <ResourceGuesser> component:\n`;
39-
code += `<ResourceGuesser name="${schema.name}" list={${schema.title}List} />`;
38+
code += `Then, update your main admin component:\n`;
39+
code += `\n`;
40+
code += `import { HydraAdmin, ResourceGuesser } from "@api-platform/admin";\n`;
41+
code += `import { ${schema.title}List } from './${schema.title}List';\n`;
42+
code += `\n`;
43+
code += `const App = () => (\n`;
44+
code += ` <HydraAdmin entrypoint={...}>\n`;
45+
code += ` <ResourceGuesser name="${schema.name}" list={${schema.title}List} />\n`;
46+
code += ` {/* ... */}\n`;
47+
code += ` </HydraAdmin>\n`;
48+
code += `);\n`;
4049

4150
return code;
4251
};

src/show/ShowGuesser.tsx

Lines changed: 16 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -19,20 +19,29 @@ import type {
1919
} from '../types.js';
2020

2121
const getOverrideCode = (schema: Resource, fields: Field[]) => {
22-
let code =
23-
'If you want to override at least one field, paste this content in the <ShowGuesser> component of your resource:\n\n';
24-
25-
code += `const ${schema.title}Show = () => (\n`;
22+
let code = `If you want to override at least one field, create a ${schema.title}Show component with this content:\n`;
23+
code += `\n`;
24+
code += `import { ShowGuesser, FieldGuesser } from "@api-platform/admin";\n`;
25+
code += `\n`;
26+
code += `export const ${schema.title}Show = () => (\n`;
2627
code += ` <ShowGuesser>\n`;
27-
2828
fields.forEach((field) => {
2929
code += ` <FieldGuesser source="${field.name}" />\n`;
3030
});
3131
code += ` </ShowGuesser>\n`;
3232
code += `);\n`;
3333
code += `\n`;
34-
code += `And don't forget update your <ResourceGuesser> component:\n`;
35-
code += `<ResourceGuesser name="${schema.name}" show={${schema.title}Show} />`;
34+
code += `Then, update your main admin component:\n`;
35+
code += `\n`;
36+
code += `import { HydraAdmin, ResourceGuesser } from "@api-platform/admin";\n`;
37+
code += `import { ${schema.title}Show } from './${schema.title}Show';\n`;
38+
code += `\n`;
39+
code += `const App = () => (\n`;
40+
code += ` <HydraAdmin entrypoint={...}>\n`;
41+
code += ` <ResourceGuesser name="${schema.name}" show={${schema.title}Show} />\n`;
42+
code += ` {/* ... */}\n`;
43+
code += ` </HydraAdmin>\n`;
44+
code += `);\n`;
3645

3746
return code;
3847
};

0 commit comments

Comments
 (0)