ApiLogicServer 15.0.19__py3-none-any.whl → 15.0.20__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (32) hide show
  1. api_logic_server_cli/api_logic_server.py +4 -4
  2. api_logic_server_cli/api_logic_server_info.yaml +2 -2
  3. api_logic_server_cli/genai/genai_admin_app.py +12 -5
  4. api_logic_server_cli/prototypes/.DS_Store +0 -0
  5. api_logic_server_cli/prototypes/manager/system/genai/app_templates/app_learning/Admin-App-Learning-Prompt.md +33 -17
  6. api_logic_server_cli/prototypes/nw/.DS_Store +0 -0
  7. api_logic_server_cli/prototypes/nw/ui/.DS_Store +0 -0
  8. api_logic_server_cli/prototypes/nw/ui/react_admin/.DS_Store +0 -0
  9. api_logic_server_cli/prototypes/nw/ui/react_admin/src/App.js +30 -31
  10. api_logic_server_cli/prototypes/nw/ui/react_admin/src/Category.js +62 -62
  11. api_logic_server_cli/prototypes/nw/ui/react_admin/src/Customer.js +143 -48
  12. api_logic_server_cli/prototypes/nw/ui/react_admin/src/CustomerDemographic.js +20 -37
  13. api_logic_server_cli/prototypes/nw/ui/react_admin/src/Department.js +38 -39
  14. api_logic_server_cli/prototypes/nw/ui/react_admin/src/Employee.js +85 -134
  15. api_logic_server_cli/prototypes/nw/ui/react_admin/src/EmployeeAudit.js +89 -77
  16. api_logic_server_cli/prototypes/nw/ui/react_admin/src/EmployeeTerritory.js +59 -59
  17. api_logic_server_cli/prototypes/nw/ui/react_admin/src/Location.js +45 -49
  18. api_logic_server_cli/prototypes/nw/ui/react_admin/src/Order.js +42 -60
  19. api_logic_server_cli/prototypes/nw/ui/react_admin/src/OrderDetail.js +97 -106
  20. api_logic_server_cli/prototypes/nw/ui/react_admin/src/Product.js +60 -62
  21. api_logic_server_cli/prototypes/nw/ui/react_admin/src/Region.js +36 -41
  22. api_logic_server_cli/prototypes/nw/ui/react_admin/src/SampleDBVersion.js +73 -0
  23. api_logic_server_cli/prototypes/nw/ui/react_admin/src/Shipper.js +57 -54
  24. api_logic_server_cli/prototypes/nw/ui/react_admin/src/Supplier.js +71 -87
  25. api_logic_server_cli/prototypes/nw/ui/react_admin/src/Territory.js +47 -41
  26. api_logic_server_cli/prototypes/nw/ui/react_admin/src/Union.js +18 -34
  27. {apilogicserver-15.0.19.dist-info → apilogicserver-15.0.20.dist-info}/METADATA +1 -1
  28. {apilogicserver-15.0.19.dist-info → apilogicserver-15.0.20.dist-info}/RECORD +32 -29
  29. {apilogicserver-15.0.19.dist-info → apilogicserver-15.0.20.dist-info}/WHEEL +0 -0
  30. {apilogicserver-15.0.19.dist-info → apilogicserver-15.0.20.dist-info}/entry_points.txt +0 -0
  31. {apilogicserver-15.0.19.dist-info → apilogicserver-15.0.20.dist-info}/licenses/LICENSE +0 -0
  32. {apilogicserver-15.0.19.dist-info → apilogicserver-15.0.20.dist-info}/top_level.txt +0 -0
@@ -1,149 +1,100 @@
1
- ```javascript
2
1
  import React from 'react';
3
2
  import {
4
- List,
5
- Datagrid,
6
- TextField,
7
- NumberField,
8
- ReferenceField,
9
- Show,
10
- SimpleShowLayout,
11
- TabbedShowLayout,
12
- Tab,
13
- TextInput,
14
- NumberInput,
15
- ReferenceInput,
16
- SelectInput,
17
- Create,
18
- SimpleForm,
19
- Edit,
20
- Filter,
21
- DateField,
22
- ReferenceManyField,
23
- BooleanField,
24
- BooleanInput,
25
- ImageField
3
+ List, Show, Edit, Create, Datagrid, TextField, NumberField, DateField,
4
+ SimpleShowLayout, TabbedShowLayout, Tab, SimpleForm, TextInput, NumberInput, DateTimeInput,
5
+ ReferenceField, ReferenceManyField, ReferenceInput, SelectInput, BooleanField, BooleanInput,
6
+ FunctionField, Pagination, Filter
26
7
  } from 'react-admin';
27
8
 
9
+ // Filter for Employee
28
10
  const EmployeeFilter = (props) => (
29
- <Filter {...props}>
30
- <TextInput label="Search" source="q" alwaysOn />
31
- <TextInput label="Last Name" source="LastName" />
32
- <ReferenceInput label="Department" source="WorksForDepartmentId" reference="Department" allowEmpty>
33
- <SelectInput optionText="name" />
34
- </ReferenceInput>
35
- </Filter>
11
+ <Filter {...props}>
12
+ <TextInput label="Search by Last Name" source="LastName" alwaysOn />
13
+ <TextInput label="First Name" source="FirstName" />
14
+ <ReferenceInput label="Department" source="WorksForDepartmentId" reference="Department">
15
+ <SelectInput optionText="DepartmentName" />
16
+ </ReferenceInput>
17
+ </Filter>
36
18
  );
37
19
 
38
- const EmployeeList = (props) => (
39
- <List filters={<EmployeeFilter />} {...props}>
40
- <Datagrid rowClick="show">
41
- <TextField source="LastName" label="Last Name" />
42
- <TextField source="FirstName" label="First Name" />
43
- <TextField source="Title" />
44
- <TextField source="Email" />
45
- <NumberField source="Salary" label="Salary" options={{ style: 'currency', currency: 'USD' }} />
46
- <TextField source="EmployeeType" label="Employee Type" />
47
- <ImageField source="PhotoPath" label="Photo" />
48
- <NumberField source="ProperSalary" label="Proper Salary" options={{ style: 'currency', currency: 'USD' }}/>
49
- <DateField source="HireDate" label="Hire Date" />
50
- </Datagrid>
51
- </List>
52
- );
53
-
54
- const EmployeeShow = (props) => (
55
- <Show {...props}>
56
- <SimpleShowLayout>
57
- <TextField source="LastName" label="Last Name" />
58
- <TextField source="FirstName" label="First Name" />
59
- <TextField source="Title" />
60
- <TextField source="Email" />
61
- <NumberField source="Salary" label="Salary" options={{ style: 'currency', currency: 'USD' }} />
62
- <TextField source="EmployeeType" label="Employee Type" />
63
- <ImageField source="PhotoPath" label="Photo" />
64
- <NumberField source="ProperSalary" label="Proper Salary" options={{ style: 'currency', currency: 'USD' }}/>
65
- <DateField source="HireDate" label="Hire Date" />
66
- <TextField source="Notes" label="Notes" />
67
- </SimpleShowLayout>
68
- <TabbedShowLayout>
69
- <Tab label="Audits">
70
- <ReferenceManyField reference="EmployeeAudit" target="EmployeeId" label="Employee Audits">
71
- <Datagrid>
20
+ // Employee List
21
+ export const EmployeeList = (props) => (
22
+ <List {...props} filters={<EmployeeFilter />} pagination={<Pagination rowsPerPageOptions={[7, 14, 28]} />} perPage={7}>
23
+ <Datagrid rowClick="show">
24
+ <TextField source="LastName" label="Last Name" />
25
+ <TextField source="FirstName" label="First Name" />
72
26
  <TextField source="Title" />
73
- <TextField source="CreatedOn" label="Created On" />
74
- </Datagrid>
75
- </ReferenceManyField>
76
- </Tab>
77
- <Tab label="Territories">
78
- <ReferenceManyField reference="EmployeeTerritory" target="EmployeeId" label="Territories">
79
- <Datagrid>
80
- <ReferenceField label="Territory Description" source="TerritoryId" reference="Territory">
81
- <TextField source="TerritoryDescription" />
27
+ <DateField source="BirthDate" label="Birth Date" />
28
+ <TextField source="City" />
29
+ <ReferenceField label="Department" source="WorksForDepartmentId" reference="Department">
30
+ <TextField source="DepartmentName" />
82
31
  </ReferenceField>
83
- </Datagrid>
84
- </ReferenceManyField>
85
- </Tab>
86
- <Tab label="Orders">
87
- <ReferenceManyField reference="Order" target="EmployeeId" label="Orders">
88
- <Datagrid>
89
- <TextField source="ShipName" />
90
- <DateField source="OrderDate" />
91
- <NumberField source="AmountTotal" options={{ style: 'currency', currency: 'USD' }} />
92
- </Datagrid>
93
- </ReferenceManyField>
94
- </Tab>
95
- </TabbedShowLayout>
96
- </Show>
32
+ <NumberField source="Salary" options={{ style: 'currency', currency: 'USD' }} />
33
+ <NumberField source="Id" /> {/* Showing primary key at the end */}
34
+ </Datagrid>
35
+ </List>
97
36
  );
98
37
 
99
- const EmployeeEdit = (props) => (
100
- <Edit {...props}>
101
- <SimpleForm>
102
- <TextInput source="LastName" label="Last Name" />
103
- <TextInput source="FirstName" label="First Name" />
104
- <TextInput source="Title" />
105
- <TextInput source="Email" />
106
- <NumberInput source="Salary" label="Salary" />
107
- <SelectInput source="EmployeeType" choices={[
108
- { id: 'Salaried', name: 'Salaried' },
109
- { id: 'Hourly', name: 'Hourly' }
110
- ]} />
111
- <ImageField source="PhotoPath" label="Photo" />
112
- <DateField source="HireDate" label="Hire Date" />
113
- <TextInput multiline source="Notes" label="Notes" />
114
- <ReferenceInput label="On Loan Department" source="OnLoanDepartmentId" reference="Department">
115
- <SelectInput optionText="DepartmentName" />
116
- </ReferenceInput>
117
- <ReferenceInput label="Works For Department" source="WorksForDepartmentId" reference="Department">
118
- <SelectInput optionText="DepartmentName" />
119
- </ReferenceInput>
120
- </SimpleForm>
121
- </Edit>
38
+ // Employee Show
39
+ export const EmployeeShow = (props) => (
40
+ <Show {...props}>
41
+ <SimpleShowLayout>
42
+ <TextField source="LastName" label="Last Name" />
43
+ <TextField source="FirstName" label="First Name" />
44
+ <TextField source="Title" />
45
+ <DateField source="BirthDate" label="Birth Date" />
46
+ <TextField source="City" />
47
+ <NumberField source="Salary" options={{ style: 'currency', currency: 'USD' }} />
48
+ <NumberField source="Id" /> // Primary Key field
49
+ </SimpleShowLayout>
50
+ <TabbedShowLayout>
51
+ <Tab label="Audit">
52
+ <ReferenceManyField reference="EmployeeAudit" target="EmployeeId" addLabel={false}>
53
+ <Datagrid rowClick="show">
54
+ <TextField source="LastName" />
55
+ <TextField source="Title" />
56
+ <DateField source="CreatedOn" label="Created On" />
57
+ </Datagrid>
58
+ </ReferenceManyField>
59
+ </Tab>
60
+ <Tab label="Territories">
61
+ <ReferenceManyField reference="EmployeeTerritory" target="EmployeeId" addLabel={false}>
62
+ <Datagrid rowClick="show">
63
+ <TextField source="TerritoryDescription" label="Description" />
64
+ </Datagrid>
65
+ </ReferenceManyField>
66
+ </Tab>
67
+ </TabbedShowLayout>
68
+ </Show>
122
69
  );
123
70
 
124
- const EmployeeCreate = (props) => (
125
- <Create {...props}>
126
- <SimpleForm>
127
- <TextInput source="LastName" label="Last Name*" />
128
- <TextInput source="FirstName" label="First Name" />
129
- <TextInput source="Title" />
130
- <TextInput source="Email" />
131
- <NumberInput source="Salary" label="Salary" />
132
- <SelectInput source="EmployeeType" choices={[
133
- { id: 'Salaried', name: 'Salaried' },
134
- { id: 'Hourly', name: 'Hourly' }
135
- ]} />
136
- <DateField source="HireDate" label="Hire Date" />
137
- <TextInput multiline source="Notes" label="Notes" />
138
- <ReferenceInput label="On Loan Department" source="OnLoanDepartmentId" reference="Department">
139
- <SelectInput optionText="DepartmentName" />
140
- </ReferenceInput>
141
- <ReferenceInput label="Works For Department" source="WorksForDepartmentId" reference="Department">
142
- <SelectInput optionText="DepartmentName" />
143
- </ReferenceInput>
144
- </SimpleForm>
145
- </Create>
71
+ // Employee Create
72
+ export const EmployeeCreate = (props) => (
73
+ <Create {...props}>
74
+ <SimpleForm>
75
+ <TextInput source="LastName" />
76
+ <TextInput source="FirstName" />
77
+ <TextInput source="Title" />
78
+ <DateTimeInput source="BirthDate" label="Birth Date" />
79
+ <TextInput source="City" />
80
+ <NumberInput source="Salary" label="Salary" />
81
+ </SimpleForm>
82
+ </Create>
146
83
  );
147
84
 
148
- export { EmployeeList, EmployeeShow, EmployeeEdit, EmployeeCreate };
149
- ```
85
+ // Employee Edit
86
+ export const EmployeeEdit = (props) => (
87
+ <Edit {...props}>
88
+ <SimpleForm>
89
+ <TextInput source="LastName" />
90
+ <TextInput source="FirstName" />
91
+ <TextInput source="Title" />
92
+ <DateTimeInput source="BirthDate" label="Birth Date" />
93
+ <TextInput source="City" />
94
+ <NumberInput source="Salary" label="Salary" />
95
+ <ReferenceInput label="Department" source="WorksForDepartmentId" reference="Department">
96
+ <SelectInput optionText="DepartmentName" />
97
+ </ReferenceInput>
98
+ </SimpleForm>
99
+ </Edit>
100
+ );
@@ -1,94 +1,106 @@
1
- ```jsx
2
1
  import React from 'react';
3
2
  import {
4
- List, FunctionField, Datagrid, TextField, DateField, NumberField,
5
- ReferenceField, ReferenceManyField, Show, TabbedShowLayout, Tab,
6
- SimpleShowLayout, TextInput, NumberInput, DateTimeInput, ReferenceInput,
7
- SelectInput, Create, SimpleForm, Edit, Filter, Pagination, BooleanField, BooleanInput
3
+ List,
4
+ Datagrid,
5
+ TextField,
6
+ DateField,
7
+ ReferenceField,
8
+ Show,
9
+ TabbedShowLayout,
10
+ Tab,
11
+ SimpleShowLayout,
12
+ Filter,
13
+ TextInput,
14
+ Create,
15
+ SimpleForm,
16
+ Edit,
17
+ NumberField,
18
+ DateTimeInput,
19
+ ReferenceInput,
20
+ SelectInput,
21
+ NumberInput
8
22
  } from 'react-admin';
9
23
 
24
+ // Filters for EmployeeAudit List
25
+ const EmployeeAuditFilter = props => (
26
+ <Filter {...props}>
27
+ <TextInput label="Search by Last Name" source="LastName" alwaysOn />
28
+ <ReferenceInput label="Employee" source="EmployeeId" reference="Employee" allowEmpty>
29
+ <SelectInput optionText="LastName" />
30
+ </ReferenceInput>
31
+ </Filter>
32
+ );
33
+
10
34
  // EmployeeAudit List Component
11
- export const EmployeeAuditList = (props) => (
12
- <List {...props} filters={<EmployeeAuditFilter />} perPage={7} pagination={<Pagination />}>
13
- <Datagrid rowClick="show">
14
- <TextField source="LastName" label="Last Name" />
15
- <TextField source="Title" />
16
- <NumberField source="Salary" options={{ style: 'currency', currency: 'USD' }} />
17
- <TextField source="CreatedBy" />
18
- <DateField source="CreatedOn" showTime />
19
- <TextField source="UpdatedBy" />
20
- <DateField source="UpdatedOn" showTime />
21
- </Datagrid>
22
- </List>
35
+ export const EmployeeAuditList = props => (
36
+ <List filters={<EmployeeAuditFilter />} {...props} perPage={7} sort={{ field: 'LastName', order: 'ASC' }}>
37
+ <Datagrid rowClick="show">
38
+ <TextField source="LastName" label="Last Name" />
39
+ <TextField source="FirstName" label="First Name" />
40
+ <TextField source="Title" />
41
+ <NumberField source="Salary" options={{ style: 'currency', currency: 'USD' }} />
42
+ <DateField source="CreatedOn" label="Created On" />
43
+ <ReferenceField label="Employee" source="EmployeeId" reference="Employee">
44
+ <TextField source="LastName" />
45
+ </ReferenceField>
46
+ </Datagrid>
47
+ </List>
23
48
  );
24
49
 
25
50
  // EmployeeAudit Show Component
26
- export const EmployeeAuditShow = (props) => (
27
- <Show {...props}>
28
- <TabbedShowLayout>
29
- <Tab label="Summary">
51
+ export const EmployeeAuditShow = props => (
52
+ <Show {...props}>
30
53
  <SimpleShowLayout>
31
- <TextField source="LastName" label="Last Name" />
32
- <TextField source="Title" />
33
- <NumberField source="Salary" options={{ style: 'currency', currency: 'USD' }} />
34
- <TextField source="FirstName" />
35
- <TextField source="CreatedBy" />
36
- <DateField source="CreatedOn" showTime />
37
- <TextField source="UpdatedBy" />
38
- <DateField source="UpdatedOn" showTime />
39
- </SimpleShowLayout>
40
- </Tab>
41
- <Tab label="Employee">
42
- <ReferenceManyField reference="Employee" target="EmployeeId" addLabel={false}>
43
- <Datagrid rowClick="show">
44
- <TextField source="LastName" />
45
- <TextField source="FirstName" />
54
+ <TextField source="LastName" label="Last Name" />
55
+ <TextField source="FirstName" label="First Name" />
46
56
  <TextField source="Title" />
47
- </Datagrid>
48
- </ReferenceManyField>
49
- </Tab>
50
- </TabbedShowLayout>
51
- </Show>
52
- );
57
+ <NumberField source="Salary" options={{ style: 'currency', currency: 'USD' }} label="Salary" />
58
+ <DateField source="CreatedOn" label="Created On" />
59
+ <DateField source="UpdatedOn" label="Updated On" />
60
+ <TextField source="CreatedBy" label="Created By" />
61
+ <TextField source="UpdatedBy" label="Updated By" />
53
62
 
54
- // EmployeeAudit Filter Component (used in EmployeeAuditList)
55
- const EmployeeAuditFilter = (props) => (
56
- <Filter {...props}>
57
- <TextInput label="Search by Last Name" source="LastName" alwaysOn />
58
- <TextInput label="Title" source="Title" />
59
- <DateTimeInput label="Creation Date" source="CreatedOn" />
60
- </Filter>
63
+ <TabbedShowLayout>
64
+ <Tab label="Related Employee">
65
+ <ReferenceField label="Employee" source="EmployeeId" reference="Employee">
66
+ <TextField source="LastName" />
67
+ </ReferenceField>
68
+ </Tab>
69
+ </TabbedShowLayout>
70
+ </SimpleShowLayout>
71
+ </Show>
61
72
  );
62
73
 
63
74
  // EmployeeAudit Create Component
64
- export const EmployeeAuditCreate = (props) => (
65
- <Create {...props}>
66
- <SimpleForm>
67
- <TextInput source="LastName" label="Last Name" />
68
- <TextInput source="Title" />
69
- <NumberInput source="Salary" label="Salary" />
70
- <TextInput source="FirstName" />
71
- <TextInput source="CreatedBy" />
72
- <DateTimeInput source="CreatedOn" />
73
- <TextInput source="UpdatedBy" />
74
- <DateTimeInput source="UpdatedOn" />
75
- </SimpleForm>
76
- </Create>
75
+ export const EmployeeAuditCreate = props => (
76
+ <Create {...props}>
77
+ <SimpleForm>
78
+ <TextInput source="LastName" label="Last Name" />
79
+ <TextInput source="FirstName" label="First Name" />
80
+ <TextInput source="Title" />
81
+ <NumberInput source="Salary" label="Salary" />
82
+ <ReferenceInput label="Employee" source="EmployeeId" reference="Employee">
83
+ <SelectInput optionText="LastName" />
84
+ </ReferenceInput>
85
+ </SimpleForm>
86
+ </Create>
77
87
  );
78
88
 
79
89
  // EmployeeAudit Edit Component
80
- export const EmployeeAuditEdit = (props) => (
81
- <Edit {...props}>
82
- <SimpleForm>
83
- <TextInput source="LastName" label="Last Name" />
84
- <TextInput source="Title" />
85
- <NumberInput source="Salary" label="Salary" />
86
- <TextInput source="FirstName" />
87
- <TextInput source="CreatedBy" />
88
- <DateTimeInput source="CreatedOn" />
89
- <TextInput source="UpdatedBy" />
90
- <DateTimeInput source="UpdatedOn" />
91
- </SimpleForm>
92
- </Edit>
93
- );
94
- ```
90
+ export const EmployeeAuditEdit = props => (
91
+ <Edit {...props}>
92
+ <SimpleForm>
93
+ <TextInput source="LastName" label="Last Name" />
94
+ <TextInput source="FirstName" label="First Name" />
95
+ <TextInput source="Title" />
96
+ <NumberInput source="Salary" label="Salary" />
97
+ <DateTimeInput source="CreatedOn" label="Created On" />
98
+ <DateTimeInput source="UpdatedOn" label="Updated On" />
99
+ <TextInput source="CreatedBy" label="Created By" />
100
+ <TextInput source="UpdatedBy" label="Updated By" />
101
+ <ReferenceInput label="Employee" source="EmployeeId" reference="Employee">
102
+ <SelectInput optionText="LastName" />
103
+ </ReferenceInput>
104
+ </SimpleForm>
105
+ </Edit>
106
+ );
@@ -1,98 +1,98 @@
1
- ```jsx
2
1
  import React from 'react';
3
2
  import {
4
3
  List,
5
- Datagrid,
6
- TextField,
7
- ReferenceField,
8
4
  Show,
9
5
  SimpleShowLayout,
10
6
  TabbedShowLayout,
11
7
  Tab,
12
- Create,
13
- SimpleForm,
8
+ Datagrid,
9
+ TextField,
10
+ ReferenceField,
11
+ NumberField,
12
+ ReferenceManyField,
13
+ TextInput,
14
14
  ReferenceInput,
15
15
  SelectInput,
16
- TextInput,
17
- Edit
16
+ Create,
17
+ SimpleForm,
18
+ Edit,
19
+ Filter
18
20
  } from 'react-admin';
19
- import { Card, CardContent } from '@mui/material';
20
21
 
21
- // List view for EmployeeTerritory
22
- export const EmployeeTerritoryList = (props) => (
23
- <List {...props} perPage={7} title="Employee Territories">
22
+ const EmployeeTerritoryFilter = (props) => (
23
+ <Filter {...props}>
24
+ <TextInput label="Employee" source="EmployeeId" alwaysOn />
25
+ <TextInput label="Territory" source="TerritoryId" alwaysOn />
26
+ </Filter>
27
+ );
28
+
29
+ export const EmployeeTerritoryList = props => (
30
+ <List filters={<EmployeeTerritoryFilter />} {...props} perPage={25} sort={{ field: 'Id', order: 'ASC' }}>
24
31
  <Datagrid rowClick="show">
25
32
  <TextField source="Id" label="ID" />
26
- <ReferenceField source="TerritoryId" reference="Territory" label="Territory Description">
27
- <TextField source="TerritoryDescription" />
28
- </ReferenceField>
29
- <ReferenceField source="EmployeeId" reference="Employee" label="Employee Last Name">
33
+ <ReferenceField source="EmployeeId" reference="Employee" label="Employee">
30
34
  <TextField source="LastName" />
31
35
  </ReferenceField>
36
+ <ReferenceField source="TerritoryId" reference="Territory" label="Territory">
37
+ <TextField source="TerritoryDescription" />
38
+ </ReferenceField>
32
39
  </Datagrid>
33
40
  </List>
34
41
  );
35
42
 
36
- // Show view for EmployeeTerritory
37
- export const EmployeeTerritoryShow = (props) => (
38
- <Show {...props} title="Employee Territory">
43
+ export const EmployeeTerritoryShow = props => (
44
+ <Show {...props}>
39
45
  <SimpleShowLayout>
40
46
  <TextField source="Id" label="ID" />
41
- <ReferenceField source="TerritoryId" reference="Territory" label="Territory Description">
42
- <TextField source="TerritoryDescription" />
43
- </ReferenceField>
44
- <ReferenceField source="EmployeeId" reference="Employee" label="Employee Last Name">
47
+ <ReferenceField source="EmployeeId" reference="Employee" label="Employee">
45
48
  <TextField source="LastName" />
46
49
  </ReferenceField>
47
-
48
- {/* Tabs for related data */}
49
- <Card>
50
- <CardContent>
51
- <TabbedShowLayout>
52
- <Tab label="Territory">
53
- <ReferenceField source="TerritoryId" reference="Territory" label="Territory Description">
54
- <TextField source="TerritoryDescription" />
55
- </ReferenceField>
56
- </Tab>
57
- <Tab label="Employee">
58
- <ReferenceField source="EmployeeId" reference="Employee" label="Employee Last Name">
59
- <TextField source="LastName" />
60
- </ReferenceField>
61
- </Tab>
62
- </TabbedShowLayout>
63
- </CardContent>
64
- </Card>
50
+ <ReferenceField source="TerritoryId" reference="Territory" label="Territory">
51
+ <TextField source="TerritoryDescription" />
52
+ </ReferenceField>
53
+ <TabbedShowLayout>
54
+ <Tab label="Details">
55
+ <ReferenceManyField label="Employee" reference="Employee" target="EmployeeId">
56
+ <Datagrid>
57
+ <TextField source="FirstName" label="First Name"/>
58
+ <TextField source="LastName" label="Last Name"/>
59
+ </Datagrid>
60
+ </ReferenceManyField>
61
+ <ReferenceManyField label="Territory" reference="Territory" target="TerritoryId">
62
+ <Datagrid>
63
+ <TextField source="TerritoryDescription" label="Description"/>
64
+ </Datagrid>
65
+ </ReferenceManyField>
66
+ </Tab>
67
+ </TabbedShowLayout>
65
68
  </SimpleShowLayout>
66
69
  </Show>
67
70
  );
68
71
 
69
- // Create view for EmployeeTerritory
70
- export const EmployeeTerritoryCreate = (props) => (
71
- <Create {...props} title="Create a new Employee Territory">
72
+ export const EmployeeTerritoryCreate = props => (
73
+ <Create {...props}>
72
74
  <SimpleForm>
73
- <ReferenceInput source="TerritoryId" reference="Territory" label="Territory Description">
74
- <SelectInput optionText="TerritoryDescription" />
75
- </ReferenceInput>
76
- <ReferenceInput source="EmployeeId" reference="Employee" label="Employee Last Name">
75
+ <TextInput source="Id" />
76
+ <ReferenceInput label="Employee" source="EmployeeId" reference="Employee">
77
77
  <SelectInput optionText="LastName" />
78
78
  </ReferenceInput>
79
- <TextInput source="Id" disabled label="ID" />
79
+ <ReferenceInput label="Territory" source="TerritoryId" reference="Territory">
80
+ <SelectInput optionText="TerritoryDescription" />
81
+ </ReferenceInput>
80
82
  </SimpleForm>
81
83
  </Create>
82
84
  );
83
85
 
84
- // Edit view for EmployeeTerritory
85
- export const EmployeeTerritoryEdit = (props) => (
86
- <Edit {...props} title="Edit Employee Territory">
86
+ export const EmployeeTerritoryEdit = props => (
87
+ <Edit {...props}>
87
88
  <SimpleForm>
88
- <TextInput source="Id" disabled label="ID" />
89
- <ReferenceInput source="TerritoryId" reference="Territory" label="Territory Description">
90
- <SelectInput optionText="TerritoryDescription" />
91
- </ReferenceInput>
92
- <ReferenceInput source="EmployeeId" reference="Employee" label="Employee Last Name">
89
+ <TextInput source="Id" />
90
+ <ReferenceInput label="Employee" source="EmployeeId" reference="Employee">
93
91
  <SelectInput optionText="LastName" />
94
92
  </ReferenceInput>
93
+ <ReferenceInput label="Territory" source="TerritoryId" reference="Territory">
94
+ <SelectInput optionText="TerritoryDescription" />
95
+ </ReferenceInput>
95
96
  </SimpleForm>
96
97
  </Edit>
97
- );
98
- ```
98
+ );