ApiLogicServer 15.0.14__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.
- api_logic_server_cli/api_logic_server.py +4 -4
- api_logic_server_cli/api_logic_server_info.yaml +2 -2
- api_logic_server_cli/cli.py +44 -1
- api_logic_server_cli/create_from_model/__pycache__/api_logic_server_utils.cpython-312.pyc +0 -0
- api_logic_server_cli/create_from_model/api_logic_server_utils.py +14 -0
- api_logic_server_cli/genai/genai_admin_app copy.py +150 -0
- api_logic_server_cli/genai/genai_admin_app.py +162 -0
- api_logic_server_cli/genai/genai_svcs.py +49 -10
- api_logic_server_cli/logging.yml +5 -0
- api_logic_server_cli/prototypes/.DS_Store +0 -0
- api_logic_server_cli/prototypes/base/config/config.py +4 -3
- api_logic_server_cli/prototypes/base/docs/training/admin_app_1_context.prompt.md +3 -0
- api_logic_server_cli/prototypes/base/docs/training/admin_app_2_functionality.prompt.md +69 -0
- api_logic_server_cli/prototypes/base/docs/training/admin_app_3_architecture.prompt.md +29 -0
- api_logic_server_cli/prototypes/base/docs/training/admin_app_unused.md +156 -0
- api_logic_server_cli/prototypes/base/integration/mcp/mcp_client_executor.py +15 -12
- api_logic_server_cli/prototypes/basic_demo/customizations/docs/mcp_learning/mcp_discovery.json +108 -0
- api_logic_server_cli/prototypes/manager/system/genai/app_templates/app_learning/Admin-App-Learning-Prompt.md +170 -0
- api_logic_server_cli/prototypes/manager/system/genai/app_templates/app_learning/notes.md +7 -0
- api_logic_server_cli/prototypes/manager/system/genai/app_templates/react-admin-template/.DS_Store +0 -0
- api_logic_server_cli/prototypes/manager/system/genai/app_templates/react-admin-template/README.md +17 -0
- api_logic_server_cli/prototypes/manager/system/genai/app_templates/react-admin-template/README_create_react_app.md +70 -0
- api_logic_server_cli/prototypes/manager/system/genai/app_templates/react-admin-template/package-lock.json +18469 -0
- api_logic_server_cli/prototypes/manager/system/genai/app_templates/react-admin-template/package.json +44 -0
- api_logic_server_cli/prototypes/manager/system/genai/app_templates/react-admin-template/public/favicon.ico +0 -0
- api_logic_server_cli/prototypes/manager/system/genai/app_templates/react-admin-template/public/index.html +43 -0
- api_logic_server_cli/prototypes/manager/system/genai/app_templates/react-admin-template/public/logo192.png +0 -0
- api_logic_server_cli/prototypes/manager/system/genai/app_templates/react-admin-template/public/logo512.png +0 -0
- api_logic_server_cli/prototypes/manager/system/genai/app_templates/react-admin-template/public/manifest.json +25 -0
- api_logic_server_cli/prototypes/manager/system/genai/app_templates/react-admin-template/public/robots.txt +3 -0
- api_logic_server_cli/prototypes/manager/system/genai/app_templates/react-admin-template/src/App.css +38 -0
- api_logic_server_cli/prototypes/manager/system/genai/app_templates/react-admin-template/src/App.js +25 -0
- api_logic_server_cli/prototypes/manager/system/genai/app_templates/react-admin-template/src/App.test.js +8 -0
- api_logic_server_cli/prototypes/manager/system/genai/app_templates/react-admin-template/src/dataProvider.js +110 -0
- api_logic_server_cli/prototypes/manager/system/genai/app_templates/react-admin-template/src/index.css +13 -0
- api_logic_server_cli/prototypes/manager/system/genai/app_templates/react-admin-template/src/index.js +17 -0
- api_logic_server_cli/prototypes/manager/system/genai/app_templates/react-admin-template/src/logo.svg +1 -0
- api_logic_server_cli/prototypes/manager/system/genai/app_templates/react-admin-template/src/reportWebVitals.js +13 -0
- api_logic_server_cli/prototypes/manager/system/genai/app_templates/react-admin-template/src/setupTests.js +5 -0
- api_logic_server_cli/prototypes/nw/.DS_Store +0 -0
- api_logic_server_cli/prototypes/nw/ui/.DS_Store +0 -0
- api_logic_server_cli/prototypes/nw/ui/react_admin/.DS_Store +0 -0
- api_logic_server_cli/prototypes/nw/ui/react_admin/README.md +19 -0
- api_logic_server_cli/prototypes/nw/ui/react_admin/README_create_react_app.md +70 -0
- api_logic_server_cli/prototypes/nw/ui/react_admin/package-lock.json +18469 -0
- api_logic_server_cli/prototypes/nw/ui/react_admin/package.json +44 -0
- api_logic_server_cli/prototypes/nw/ui/react_admin/public/favicon.ico +0 -0
- api_logic_server_cli/prototypes/nw/ui/react_admin/public/index.html +43 -0
- api_logic_server_cli/prototypes/nw/ui/react_admin/public/logo192.png +0 -0
- api_logic_server_cli/prototypes/nw/ui/react_admin/public/logo512.png +0 -0
- api_logic_server_cli/prototypes/nw/ui/react_admin/public/manifest.json +25 -0
- api_logic_server_cli/prototypes/nw/ui/react_admin/public/robots.txt +3 -0
- api_logic_server_cli/prototypes/nw/ui/react_admin/src/App.css +38 -0
- api_logic_server_cli/prototypes/nw/ui/react_admin/src/App.js +58 -0
- api_logic_server_cli/prototypes/nw/ui/react_admin/src/App.test.js +8 -0
- api_logic_server_cli/prototypes/nw/ui/react_admin/src/Category.js +82 -0
- api_logic_server_cli/prototypes/nw/ui/react_admin/src/Customer.js +211 -0
- api_logic_server_cli/prototypes/nw/ui/react_admin/src/CustomerDemographic.js +57 -0
- api_logic_server_cli/prototypes/nw/ui/react_admin/src/Department.js +98 -0
- api_logic_server_cli/prototypes/nw/ui/react_admin/src/Employee.js +100 -0
- api_logic_server_cli/prototypes/nw/ui/react_admin/src/EmployeeAudit.js +106 -0
- api_logic_server_cli/prototypes/nw/ui/react_admin/src/EmployeeTerritory.js +98 -0
- api_logic_server_cli/prototypes/nw/ui/react_admin/src/Location.js +87 -0
- api_logic_server_cli/prototypes/nw/ui/react_admin/src/Order.js +98 -0
- api_logic_server_cli/prototypes/nw/ui/react_admin/src/OrderDetail.js +112 -0
- api_logic_server_cli/prototypes/nw/ui/react_admin/src/Product.js +103 -0
- api_logic_server_cli/prototypes/nw/ui/react_admin/src/Region.js +65 -0
- api_logic_server_cli/prototypes/nw/ui/react_admin/src/SampleDBVersion.js +73 -0
- api_logic_server_cli/prototypes/nw/ui/react_admin/src/Shipper.js +67 -0
- api_logic_server_cli/prototypes/nw/ui/react_admin/src/Supplier.js +87 -0
- api_logic_server_cli/prototypes/nw/ui/react_admin/src/Territory.js +90 -0
- api_logic_server_cli/prototypes/nw/ui/react_admin/src/Union.js +61 -0
- api_logic_server_cli/prototypes/nw/ui/react_admin/src/dataProvider.js +110 -0
- api_logic_server_cli/prototypes/nw/ui/react_admin/src/index.css +13 -0
- api_logic_server_cli/prototypes/nw/ui/react_admin/src/index.js +17 -0
- api_logic_server_cli/prototypes/nw/ui/react_admin/src/logo.svg +1 -0
- api_logic_server_cli/prototypes/nw/ui/react_admin/src/reportWebVitals.js +13 -0
- api_logic_server_cli/prototypes/nw/ui/react_admin/src/setupTests.js +5 -0
- {apilogicserver-15.0.14.dist-info → apilogicserver-15.0.20.dist-info}/METADATA +1 -1
- {apilogicserver-15.0.14.dist-info → apilogicserver-15.0.20.dist-info}/RECORD +84 -16
- {apilogicserver-15.0.14.dist-info → apilogicserver-15.0.20.dist-info}/WHEEL +0 -0
- {apilogicserver-15.0.14.dist-info → apilogicserver-15.0.20.dist-info}/entry_points.txt +0 -0
- {apilogicserver-15.0.14.dist-info → apilogicserver-15.0.20.dist-info}/licenses/LICENSE +0 -0
- {apilogicserver-15.0.14.dist-info → apilogicserver-15.0.20.dist-info}/top_level.txt +0 -0
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import {
|
|
3
|
+
List,
|
|
4
|
+
Datagrid,
|
|
5
|
+
TextField,
|
|
6
|
+
NumberField,
|
|
7
|
+
ReferenceField,
|
|
8
|
+
Show,
|
|
9
|
+
SimpleShowLayout,
|
|
10
|
+
TabbedShowLayout,
|
|
11
|
+
Tab,
|
|
12
|
+
ReferenceManyField,
|
|
13
|
+
Edit,
|
|
14
|
+
SimpleForm,
|
|
15
|
+
TextInput,
|
|
16
|
+
NumberInput,
|
|
17
|
+
ReferenceInput,
|
|
18
|
+
Create,
|
|
19
|
+
SelectInput, Pagination
|
|
20
|
+
} from 'react-admin';
|
|
21
|
+
|
|
22
|
+
export const DepartmentList = (props) => (
|
|
23
|
+
<List {...props} filters={<DepartmentFilter />} pagination={<DepartmentPagination />}>
|
|
24
|
+
<Datagrid rowClick="show">
|
|
25
|
+
<TextField source="DepartmentName" label="Department Name" />
|
|
26
|
+
<NumberField source="SecurityLevel" label="Security Level" />
|
|
27
|
+
<NumberField source="Id" label="ID" />
|
|
28
|
+
</Datagrid>
|
|
29
|
+
</List>
|
|
30
|
+
);
|
|
31
|
+
|
|
32
|
+
export const DepartmentShow = (props) => (
|
|
33
|
+
<Show {...props}>
|
|
34
|
+
<SimpleShowLayout>
|
|
35
|
+
<TextField source="DepartmentName" label="Department Name" />
|
|
36
|
+
<NumberField source="SecurityLevel" label="Security Level" />
|
|
37
|
+
<NumberField source="Id" label="ID" />
|
|
38
|
+
</SimpleShowLayout>
|
|
39
|
+
<TabbedShowLayout>
|
|
40
|
+
<Tab label="Departments">
|
|
41
|
+
<ReferenceManyField reference="Department" target="DepartmentId" label="" perPage={5} sort={{ field: 'Id', order: 'ASC' }}>
|
|
42
|
+
<Datagrid>
|
|
43
|
+
<ReferenceField source="DepartmentId" reference="Department"><TextField source="DepartmentName" /></ReferenceField>
|
|
44
|
+
<NumberField source="SecurityLevel" label="Security Level" />
|
|
45
|
+
<NumberField source="Id" label="ID" />
|
|
46
|
+
</Datagrid>
|
|
47
|
+
</ReferenceManyField>
|
|
48
|
+
</Tab>
|
|
49
|
+
<Tab label="On Loan Employees">
|
|
50
|
+
<ReferenceManyField reference="Employee" target="OnLoanDepartmentId" label="" perPage={5} sort={{ field: 'Id', order: 'ASC' }}>
|
|
51
|
+
<Datagrid>
|
|
52
|
+
<TextField source="LastName" label="Last Name" />
|
|
53
|
+
<TextField source="FirstName" label="First Name" />
|
|
54
|
+
<NumberField source="Id" label="Employee ID" />
|
|
55
|
+
</Datagrid>
|
|
56
|
+
</ReferenceManyField>
|
|
57
|
+
</Tab>
|
|
58
|
+
<Tab label="Works For Employees">
|
|
59
|
+
<ReferenceManyField reference="Employee" target="WorksForDepartmentId" label="" perPage={5} sort={{ field: 'Id', order: 'ASC' }}>
|
|
60
|
+
<Datagrid>
|
|
61
|
+
<TextField source="LastName" label="Last Name" />
|
|
62
|
+
<TextField source="FirstName" label="First Name" />
|
|
63
|
+
<NumberField source="Id" label="Employee ID" />
|
|
64
|
+
</Datagrid>
|
|
65
|
+
</ReferenceManyField>
|
|
66
|
+
</Tab>
|
|
67
|
+
</TabbedShowLayout>
|
|
68
|
+
</Show>
|
|
69
|
+
);
|
|
70
|
+
|
|
71
|
+
export const DepartmentCreate = (props) => (
|
|
72
|
+
<Create {...props}>
|
|
73
|
+
<SimpleForm>
|
|
74
|
+
<TextInput source="DepartmentName" label="Department Name" />
|
|
75
|
+
<NumberInput source="SecurityLevel" label="Security Level" />
|
|
76
|
+
</SimpleForm>
|
|
77
|
+
</Create>
|
|
78
|
+
);
|
|
79
|
+
|
|
80
|
+
export const DepartmentEdit = (props) => (
|
|
81
|
+
<Edit {...props}>
|
|
82
|
+
<SimpleForm>
|
|
83
|
+
<TextInput source="DepartmentName" label="Department Name" />
|
|
84
|
+
<NumberInput source="SecurityLevel" label="Security Level" />
|
|
85
|
+
<NumberInput source="Id" label="ID" />
|
|
86
|
+
</SimpleForm>
|
|
87
|
+
</Edit>
|
|
88
|
+
);
|
|
89
|
+
|
|
90
|
+
const DepartmentFilter = (props) => (
|
|
91
|
+
<div>
|
|
92
|
+
<TextInput label="Search By Name" source="DepartmentName" alwaysOn {...props} />
|
|
93
|
+
</div>
|
|
94
|
+
);
|
|
95
|
+
|
|
96
|
+
const DepartmentPagination = () => (
|
|
97
|
+
<Pagination rowsPerPageOptions={[5, 10, 25]} />
|
|
98
|
+
);
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import {
|
|
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
|
|
7
|
+
} from 'react-admin';
|
|
8
|
+
|
|
9
|
+
// Filter for Employee
|
|
10
|
+
const EmployeeFilter = (props) => (
|
|
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>
|
|
18
|
+
);
|
|
19
|
+
|
|
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" />
|
|
26
|
+
<TextField source="Title" />
|
|
27
|
+
<DateField source="BirthDate" label="Birth Date" />
|
|
28
|
+
<TextField source="City" />
|
|
29
|
+
<ReferenceField label="Department" source="WorksForDepartmentId" reference="Department">
|
|
30
|
+
<TextField source="DepartmentName" />
|
|
31
|
+
</ReferenceField>
|
|
32
|
+
<NumberField source="Salary" options={{ style: 'currency', currency: 'USD' }} />
|
|
33
|
+
<NumberField source="Id" /> {/* Showing primary key at the end */}
|
|
34
|
+
</Datagrid>
|
|
35
|
+
</List>
|
|
36
|
+
);
|
|
37
|
+
|
|
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>
|
|
69
|
+
);
|
|
70
|
+
|
|
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>
|
|
83
|
+
);
|
|
84
|
+
|
|
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
|
+
);
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import {
|
|
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
|
|
22
|
+
} from 'react-admin';
|
|
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
|
+
|
|
34
|
+
// EmployeeAudit List Component
|
|
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>
|
|
48
|
+
);
|
|
49
|
+
|
|
50
|
+
// EmployeeAudit Show Component
|
|
51
|
+
export const EmployeeAuditShow = props => (
|
|
52
|
+
<Show {...props}>
|
|
53
|
+
<SimpleShowLayout>
|
|
54
|
+
<TextField source="LastName" label="Last Name" />
|
|
55
|
+
<TextField source="FirstName" label="First Name" />
|
|
56
|
+
<TextField source="Title" />
|
|
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" />
|
|
62
|
+
|
|
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>
|
|
72
|
+
);
|
|
73
|
+
|
|
74
|
+
// EmployeeAudit Create Component
|
|
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>
|
|
87
|
+
);
|
|
88
|
+
|
|
89
|
+
// EmployeeAudit Edit Component
|
|
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
|
+
);
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import {
|
|
3
|
+
List,
|
|
4
|
+
Show,
|
|
5
|
+
SimpleShowLayout,
|
|
6
|
+
TabbedShowLayout,
|
|
7
|
+
Tab,
|
|
8
|
+
Datagrid,
|
|
9
|
+
TextField,
|
|
10
|
+
ReferenceField,
|
|
11
|
+
NumberField,
|
|
12
|
+
ReferenceManyField,
|
|
13
|
+
TextInput,
|
|
14
|
+
ReferenceInput,
|
|
15
|
+
SelectInput,
|
|
16
|
+
Create,
|
|
17
|
+
SimpleForm,
|
|
18
|
+
Edit,
|
|
19
|
+
Filter
|
|
20
|
+
} from 'react-admin';
|
|
21
|
+
|
|
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' }}>
|
|
31
|
+
<Datagrid rowClick="show">
|
|
32
|
+
<TextField source="Id" label="ID" />
|
|
33
|
+
<ReferenceField source="EmployeeId" reference="Employee" label="Employee">
|
|
34
|
+
<TextField source="LastName" />
|
|
35
|
+
</ReferenceField>
|
|
36
|
+
<ReferenceField source="TerritoryId" reference="Territory" label="Territory">
|
|
37
|
+
<TextField source="TerritoryDescription" />
|
|
38
|
+
</ReferenceField>
|
|
39
|
+
</Datagrid>
|
|
40
|
+
</List>
|
|
41
|
+
);
|
|
42
|
+
|
|
43
|
+
export const EmployeeTerritoryShow = props => (
|
|
44
|
+
<Show {...props}>
|
|
45
|
+
<SimpleShowLayout>
|
|
46
|
+
<TextField source="Id" label="ID" />
|
|
47
|
+
<ReferenceField source="EmployeeId" reference="Employee" label="Employee">
|
|
48
|
+
<TextField source="LastName" />
|
|
49
|
+
</ReferenceField>
|
|
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>
|
|
68
|
+
</SimpleShowLayout>
|
|
69
|
+
</Show>
|
|
70
|
+
);
|
|
71
|
+
|
|
72
|
+
export const EmployeeTerritoryCreate = props => (
|
|
73
|
+
<Create {...props}>
|
|
74
|
+
<SimpleForm>
|
|
75
|
+
<TextInput source="Id" />
|
|
76
|
+
<ReferenceInput label="Employee" source="EmployeeId" reference="Employee">
|
|
77
|
+
<SelectInput optionText="LastName" />
|
|
78
|
+
</ReferenceInput>
|
|
79
|
+
<ReferenceInput label="Territory" source="TerritoryId" reference="Territory">
|
|
80
|
+
<SelectInput optionText="TerritoryDescription" />
|
|
81
|
+
</ReferenceInput>
|
|
82
|
+
</SimpleForm>
|
|
83
|
+
</Create>
|
|
84
|
+
);
|
|
85
|
+
|
|
86
|
+
export const EmployeeTerritoryEdit = props => (
|
|
87
|
+
<Edit {...props}>
|
|
88
|
+
<SimpleForm>
|
|
89
|
+
<TextInput source="Id" />
|
|
90
|
+
<ReferenceInput label="Employee" source="EmployeeId" reference="Employee">
|
|
91
|
+
<SelectInput optionText="LastName" />
|
|
92
|
+
</ReferenceInput>
|
|
93
|
+
<ReferenceInput label="Territory" source="TerritoryId" reference="Territory">
|
|
94
|
+
<SelectInput optionText="TerritoryDescription" />
|
|
95
|
+
</ReferenceInput>
|
|
96
|
+
</SimpleForm>
|
|
97
|
+
</Edit>
|
|
98
|
+
);
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import {
|
|
3
|
+
List,
|
|
4
|
+
Datagrid,
|
|
5
|
+
TextField,
|
|
6
|
+
ReferenceManyField,
|
|
7
|
+
Show,
|
|
8
|
+
SimpleShowLayout,
|
|
9
|
+
TabbedShowLayout,
|
|
10
|
+
Tab,
|
|
11
|
+
createFilter,
|
|
12
|
+
Create,
|
|
13
|
+
Edit,
|
|
14
|
+
SimpleForm,
|
|
15
|
+
TextInput,
|
|
16
|
+
} from 'react-admin';
|
|
17
|
+
|
|
18
|
+
// List Component for Location
|
|
19
|
+
export const LocationList = () => (
|
|
20
|
+
<List
|
|
21
|
+
filters={<LocationFilter />}
|
|
22
|
+
perPage={7}
|
|
23
|
+
title="Location List"
|
|
24
|
+
>
|
|
25
|
+
<Datagrid rowClick="show">
|
|
26
|
+
<TextField source="country" label="Country" />
|
|
27
|
+
<TextField source="city" label="City" />
|
|
28
|
+
<TextField source="notes" label="Notes" />
|
|
29
|
+
</Datagrid>
|
|
30
|
+
</List>
|
|
31
|
+
);
|
|
32
|
+
|
|
33
|
+
// Filter Component for Location
|
|
34
|
+
const LocationFilter = () => (
|
|
35
|
+
<createFilter>
|
|
36
|
+
<TextInput label="Country" source="country" alwaysOn />
|
|
37
|
+
<TextInput label="City" source="city" />
|
|
38
|
+
</createFilter>
|
|
39
|
+
);
|
|
40
|
+
|
|
41
|
+
// Show Component for Location
|
|
42
|
+
export const LocationShow = (props) => (
|
|
43
|
+
<Show {...props} title="Location Details">
|
|
44
|
+
<SimpleShowLayout>
|
|
45
|
+
<TextField source="country" label="Country" />
|
|
46
|
+
<TextField source="city" label="City" />
|
|
47
|
+
<TextField source="notes" label="Notes" />
|
|
48
|
+
</SimpleShowLayout>
|
|
49
|
+
<TabbedShowLayout>
|
|
50
|
+
<Tab label="Order List">
|
|
51
|
+
<ReferenceManyField
|
|
52
|
+
reference="Order"
|
|
53
|
+
target="City"
|
|
54
|
+
source="City"
|
|
55
|
+
label="Orders in City"
|
|
56
|
+
>
|
|
57
|
+
<Datagrid rowClick="show">
|
|
58
|
+
<TextField source="ShipName" label="Ship Name" />
|
|
59
|
+
<TextField source="OrderDate" label="Order Date" />
|
|
60
|
+
</Datagrid>
|
|
61
|
+
</ReferenceManyField>
|
|
62
|
+
</Tab>
|
|
63
|
+
</TabbedShowLayout>
|
|
64
|
+
</Show>
|
|
65
|
+
);
|
|
66
|
+
|
|
67
|
+
// Create Component for Location
|
|
68
|
+
export const LocationCreate = (props) => (
|
|
69
|
+
<Create {...props} title="Create a Location">
|
|
70
|
+
<SimpleForm>
|
|
71
|
+
<TextInput source="country" label="Country" />
|
|
72
|
+
<TextInput source="city" label="City" />
|
|
73
|
+
<TextInput source="notes" label="Notes" />
|
|
74
|
+
</SimpleForm>
|
|
75
|
+
</Create>
|
|
76
|
+
);
|
|
77
|
+
|
|
78
|
+
// Edit Component for Location
|
|
79
|
+
export const LocationEdit = (props) => (
|
|
80
|
+
<Edit {...props} title="Edit Location">
|
|
81
|
+
<SimpleForm>
|
|
82
|
+
<TextInput source="country" label="Country" />
|
|
83
|
+
<TextInput source="city" label="City" />
|
|
84
|
+
<TextInput source="notes" label="Notes" />
|
|
85
|
+
</SimpleForm>
|
|
86
|
+
</Edit>
|
|
87
|
+
);
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
// Order.js
|
|
2
|
+
import React from 'react';
|
|
3
|
+
import { List, Datagrid, TextField, DateField, NumberField, ReferenceField, ReferenceManyField, Show, TabbedShowLayout, Tab, SimpleShowLayout, TextInput, NumberInput, DateTimeInput, ReferenceInput, SelectInput, Create, SimpleForm, Edit, Filter, Pagination, BooleanField, BooleanInput } from 'react-admin';
|
|
4
|
+
|
|
5
|
+
// Order Filter
|
|
6
|
+
const OrderFilter = (props) => (
|
|
7
|
+
<Filter {...props}>
|
|
8
|
+
<TextInput label="Search" source="q" alwaysOn />
|
|
9
|
+
<TextInput source="ShipName" />
|
|
10
|
+
</Filter>
|
|
11
|
+
);
|
|
12
|
+
|
|
13
|
+
// Order List
|
|
14
|
+
export const OrderList = props => (
|
|
15
|
+
<List {...props} filters={<OrderFilter />} pagination={<Pagination rowsPerPageOptions={[5, 10, 25]} />}>
|
|
16
|
+
<Datagrid rowClick="show">
|
|
17
|
+
<TextField source="ShipName" label="Ship Name" />
|
|
18
|
+
<DateField source="OrderDate" />
|
|
19
|
+
<ReferenceField source="CustomerId" reference="Customer"><TextField source="CompanyName" /></ReferenceField>
|
|
20
|
+
<ReferenceField source="EmployeeId" reference="Employee"><TextField source="LastName" /></ReferenceField>
|
|
21
|
+
<NumberField source="Freight" options={{ style: 'currency', currency: 'USD' }} />
|
|
22
|
+
<BooleanField source="Ready" />
|
|
23
|
+
<NumberField source="Id" />
|
|
24
|
+
</Datagrid>
|
|
25
|
+
</List>
|
|
26
|
+
);
|
|
27
|
+
|
|
28
|
+
// Order Show
|
|
29
|
+
export const OrderShow = props => (
|
|
30
|
+
<Show {...props}>
|
|
31
|
+
<SimpleShowLayout>
|
|
32
|
+
<TextField source="ShipName" />
|
|
33
|
+
<DateField source="OrderDate" />
|
|
34
|
+
<ReferenceField source="CustomerId" reference="Customer"><TextField source="CompanyName" /></ReferenceField>
|
|
35
|
+
<ReferenceField source="EmployeeId" reference="Employee"><TextField source="LastName" /></ReferenceField>
|
|
36
|
+
<NumberField source="AmountTotal" label="Total Amount" options={{ style: 'currency', currency: 'USD' }} />
|
|
37
|
+
<TextField source="ShipAddress" />
|
|
38
|
+
<TextField source="ShipCity" />
|
|
39
|
+
<TextField source="ShipCountry" />
|
|
40
|
+
<BooleanField source="Ready" />
|
|
41
|
+
</SimpleShowLayout>
|
|
42
|
+
<TabbedShowLayout>
|
|
43
|
+
<Tab label="Order Details">
|
|
44
|
+
<ReferenceManyField reference="OrderDetail" target="OrderId">
|
|
45
|
+
<Datagrid>
|
|
46
|
+
<ReferenceField source="ProductId" reference="Product"><TextField source="ProductName" /></ReferenceField>
|
|
47
|
+
<NumberField source="UnitPrice" options={{ style: 'currency', currency: 'USD' }} />
|
|
48
|
+
<NumberField source="Quantity" />
|
|
49
|
+
<NumberField source="Discount" />
|
|
50
|
+
<NumberField source="Amount" options={{ style: 'currency', currency: 'USD' }} />
|
|
51
|
+
</Datagrid>
|
|
52
|
+
</ReferenceManyField>
|
|
53
|
+
</Tab>
|
|
54
|
+
</TabbedShowLayout>
|
|
55
|
+
</Show>
|
|
56
|
+
);
|
|
57
|
+
|
|
58
|
+
// Order Create
|
|
59
|
+
export const OrderCreate = props => (
|
|
60
|
+
<Create {...props}>
|
|
61
|
+
<SimpleForm>
|
|
62
|
+
<TextInput source="ShipName" />
|
|
63
|
+
<DateTimeInput source="OrderDate" />
|
|
64
|
+
<ReferenceInput label="Customer" source="CustomerId" reference="Customer">
|
|
65
|
+
<SelectInput optionText="CompanyName" />
|
|
66
|
+
</ReferenceInput>
|
|
67
|
+
<ReferenceInput label="Employee" source="EmployeeId" reference="Employee">
|
|
68
|
+
<SelectInput optionText="LastName" />
|
|
69
|
+
</ReferenceInput>
|
|
70
|
+
<NumberInput source="AmountTotal" />
|
|
71
|
+
<TextInput source="ShipAddress" />
|
|
72
|
+
<TextInput source="ShipCity" />
|
|
73
|
+
<TextInput source="ShipCountry" />
|
|
74
|
+
<BooleanInput source="Ready" />
|
|
75
|
+
</SimpleForm>
|
|
76
|
+
</Create>
|
|
77
|
+
);
|
|
78
|
+
|
|
79
|
+
// Order Edit
|
|
80
|
+
export const OrderEdit = props => (
|
|
81
|
+
<Edit {...props}>
|
|
82
|
+
<SimpleForm>
|
|
83
|
+
<TextInput source="ShipName" />
|
|
84
|
+
<DateTimeInput source="OrderDate" />
|
|
85
|
+
<ReferenceInput label="Customer" source="CustomerId" reference="Customer">
|
|
86
|
+
<SelectInput optionText="CompanyName" />
|
|
87
|
+
</ReferenceInput>
|
|
88
|
+
<ReferenceInput label="Employee" source="EmployeeId" reference="Employee">
|
|
89
|
+
<SelectInput optionText="LastName" />
|
|
90
|
+
</ReferenceInput>
|
|
91
|
+
<NumberInput source="AmountTotal" />
|
|
92
|
+
<TextInput source="ShipAddress" />
|
|
93
|
+
<TextInput source="ShipCity" />
|
|
94
|
+
<TextInput source="ShipCountry" />
|
|
95
|
+
<BooleanInput source="Ready" />
|
|
96
|
+
</SimpleForm>
|
|
97
|
+
</Edit>
|
|
98
|
+
);
|