ApiLogicServer 15.0.27__py3-none-any.whl → 15.0.28__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 (124) hide show
  1. api_logic_server_cli/api_logic_server.py +2 -2
  2. api_logic_server_cli/cli.py +1 -1
  3. api_logic_server_cli/genai/genai_admin_app.py +11 -6
  4. api_logic_server_cli/genai/genai_svcs.py +3 -3
  5. api_logic_server_cli/logging.yml +16 -1
  6. api_logic_server_cli/prototypes/nw/ui/.DS_Store +0 -0
  7. api_logic_server_cli/prototypes/nw/ui/{react_admin → reference_react_app}/.DS_Store +0 -0
  8. api_logic_server_cli/prototypes/nw/ui/{react_admin → reference_react_app}/README.md +0 -2
  9. api_logic_server_cli/prototypes/nw/ui/reference_react_app/compile-errors.txt +324 -0
  10. api_logic_server_cli/prototypes/nw/ui/{react_admin → reference_react_app}/package-lock.json +24 -0
  11. api_logic_server_cli/prototypes/nw/ui/{react_admin → reference_react_app}/package.json +3 -0
  12. api_logic_server_cli/prototypes/nw/ui/reference_react_app/src/App.js +147 -0
  13. api_logic_server_cli/prototypes/nw/ui/reference_react_app/src/Category.js +141 -0
  14. api_logic_server_cli/prototypes/nw/ui/reference_react_app/src/Config.js +527 -0
  15. api_logic_server_cli/prototypes/nw/ui/reference_react_app/src/Customer.js +193 -0
  16. api_logic_server_cli/prototypes/nw/ui/reference_react_app/src/CustomerDemographic.js +119 -0
  17. api_logic_server_cli/prototypes/nw/ui/reference_react_app/src/Department.js +144 -0
  18. api_logic_server_cli/prototypes/nw/ui/reference_react_app/src/Employee.js +213 -0
  19. api_logic_server_cli/prototypes/nw/ui/reference_react_app/src/EmployeeAudit.js +223 -0
  20. api_logic_server_cli/prototypes/nw/ui/reference_react_app/src/EmployeeTerritory.js +94 -0
  21. api_logic_server_cli/prototypes/nw/ui/reference_react_app/src/Location.js +170 -0
  22. api_logic_server_cli/prototypes/nw/ui/reference_react_app/src/Order.js +179 -0
  23. api_logic_server_cli/prototypes/nw/ui/reference_react_app/src/OrderDetail.js +201 -0
  24. api_logic_server_cli/prototypes/nw/ui/reference_react_app/src/Product.js +226 -0
  25. api_logic_server_cli/prototypes/nw/ui/reference_react_app/src/Region.js +104 -0
  26. api_logic_server_cli/prototypes/nw/ui/reference_react_app/src/Shipper.js +120 -0
  27. api_logic_server_cli/prototypes/nw/ui/reference_react_app/src/Supplier.js +143 -0
  28. api_logic_server_cli/prototypes/nw/ui/reference_react_app/src/Territory.js +145 -0
  29. api_logic_server_cli/prototypes/nw/ui/reference_react_app/src/Union.js +119 -0
  30. api_logic_server_cli/prototypes/nw/ui/reference_react_app/src/app_loader.js +24 -0
  31. api_logic_server_cli/prototypes/nw/ui/reference_react_app/src/rav4-jsonapi-client/.eslintrc +5 -0
  32. api_logic_server_cli/prototypes/nw/ui/reference_react_app/src/rav4-jsonapi-client/.yarnrc.yml +4 -0
  33. api_logic_server_cli/prototypes/nw/ui/reference_react_app/src/rav4-jsonapi-client/default-settings.js +25 -0
  34. api_logic_server_cli/prototypes/nw/ui/reference_react_app/src/rav4-jsonapi-client/default-settings.ts +25 -0
  35. api_logic_server_cli/prototypes/nw/ui/reference_react_app/src/rav4-jsonapi-client/errors.js +116 -0
  36. api_logic_server_cli/prototypes/nw/ui/reference_react_app/src/rav4-jsonapi-client/errors.ts +116 -0
  37. api_logic_server_cli/prototypes/nw/ui/reference_react_app/src/rav4-jsonapi-client/index.test.tsx +7 -0
  38. api_logic_server_cli/prototypes/nw/ui/reference_react_app/src/rav4-jsonapi-client/index.tsx +11 -0
  39. api_logic_server_cli/prototypes/nw/ui/reference_react_app/src/rav4-jsonapi-client/ra-jsonapi-client.js +577 -0
  40. api_logic_server_cli/prototypes/nw/ui/reference_react_app/src/rav4-jsonapi-client/ra-jsonapi-client.ts +577 -0
  41. api_logic_server_cli/prototypes/nw/ui/reference_react_app/src/rav4-jsonapi-client/resourceLookup.js +124 -0
  42. api_logic_server_cli/prototypes/nw/ui/reference_react_app/src/rav4-jsonapi-client/resourceLookup.ts +124 -0
  43. api_logic_server_cli/prototypes/nw/ui/reference_react_app/src/rav4-jsonapi-client/styles.module.css +9 -0
  44. {apilogicserver-15.0.27.dist-info → apilogicserver-15.0.28.dist-info}/METADATA +1 -1
  45. {apilogicserver-15.0.27.dist-info → apilogicserver-15.0.28.dist-info}/RECORD +107 -91
  46. api_logic_server_cli/prototypes/nw/ui/react_admin/src/App.js +0 -58
  47. api_logic_server_cli/prototypes/nw/ui/react_admin/src/Category.js +0 -82
  48. api_logic_server_cli/prototypes/nw/ui/react_admin/src/Customer.js +0 -211
  49. api_logic_server_cli/prototypes/nw/ui/react_admin/src/CustomerDemographic.js +0 -57
  50. api_logic_server_cli/prototypes/nw/ui/react_admin/src/Department.js +0 -98
  51. api_logic_server_cli/prototypes/nw/ui/react_admin/src/Employee.js +0 -100
  52. api_logic_server_cli/prototypes/nw/ui/react_admin/src/EmployeeAudit.js +0 -106
  53. api_logic_server_cli/prototypes/nw/ui/react_admin/src/EmployeeTerritory.js +0 -98
  54. api_logic_server_cli/prototypes/nw/ui/react_admin/src/Location.js +0 -87
  55. api_logic_server_cli/prototypes/nw/ui/react_admin/src/Order.js +0 -98
  56. api_logic_server_cli/prototypes/nw/ui/react_admin/src/OrderDetail.js +0 -112
  57. api_logic_server_cli/prototypes/nw/ui/react_admin/src/Product.js +0 -103
  58. api_logic_server_cli/prototypes/nw/ui/react_admin/src/Region.js +0 -65
  59. api_logic_server_cli/prototypes/nw/ui/react_admin/src/Shipper.js +0 -67
  60. api_logic_server_cli/prototypes/nw/ui/react_admin/src/Supplier.js +0 -87
  61. api_logic_server_cli/prototypes/nw/ui/react_admin/src/Territory.js +0 -90
  62. api_logic_server_cli/prototypes/nw/ui/react_admin/src/Union.js +0 -61
  63. /api_logic_server_cli/prototypes/basic_demo/customizations/ui/{basic_demo_app → reference_react_app}/.DS_Store +0 -0
  64. /api_logic_server_cli/prototypes/basic_demo/customizations/ui/{basic_demo_app → reference_react_app}/README.md +0 -0
  65. /api_logic_server_cli/prototypes/basic_demo/customizations/ui/{basic_demo_app → reference_react_app}/README_create_react_app.md +0 -0
  66. /api_logic_server_cli/prototypes/basic_demo/customizations/ui/{basic_demo_app → reference_react_app}/package-lock.json +0 -0
  67. /api_logic_server_cli/prototypes/basic_demo/customizations/ui/{basic_demo_app → reference_react_app}/package.json +0 -0
  68. /api_logic_server_cli/prototypes/basic_demo/customizations/ui/{basic_demo_app → reference_react_app}/public/favicon.ico +0 -0
  69. /api_logic_server_cli/prototypes/basic_demo/customizations/ui/{basic_demo_app → reference_react_app}/public/index.html +0 -0
  70. /api_logic_server_cli/prototypes/basic_demo/customizations/ui/{basic_demo_app → reference_react_app}/public/logo192.png +0 -0
  71. /api_logic_server_cli/prototypes/basic_demo/customizations/ui/{basic_demo_app → reference_react_app}/public/logo512.png +0 -0
  72. /api_logic_server_cli/prototypes/basic_demo/customizations/ui/{basic_demo_app → reference_react_app}/public/manifest.json +0 -0
  73. /api_logic_server_cli/prototypes/basic_demo/customizations/ui/{basic_demo_app → reference_react_app}/public/robots.txt +0 -0
  74. /api_logic_server_cli/prototypes/basic_demo/customizations/ui/{basic_demo_app → reference_react_app}/src/App.css +0 -0
  75. /api_logic_server_cli/prototypes/basic_demo/customizations/ui/{basic_demo_app → reference_react_app}/src/App.js +0 -0
  76. /api_logic_server_cli/prototypes/basic_demo/customizations/ui/{basic_demo_app → reference_react_app}/src/App.test.js +0 -0
  77. /api_logic_server_cli/prototypes/basic_demo/customizations/ui/{basic_demo_app → reference_react_app}/src/Config-reference.js +0 -0
  78. /api_logic_server_cli/prototypes/basic_demo/customizations/ui/{basic_demo_app → reference_react_app}/src/Config.js +0 -0
  79. /api_logic_server_cli/prototypes/basic_demo/customizations/ui/{basic_demo_app → reference_react_app}/src/Customer-reference.js +0 -0
  80. /api_logic_server_cli/prototypes/basic_demo/customizations/ui/{basic_demo_app → reference_react_app}/src/Customer.js +0 -0
  81. /api_logic_server_cli/prototypes/basic_demo/customizations/ui/{basic_demo_app → reference_react_app}/src/Item.js +0 -0
  82. /api_logic_server_cli/prototypes/basic_demo/customizations/ui/{basic_demo_app → reference_react_app}/src/Order.js +0 -0
  83. /api_logic_server_cli/prototypes/basic_demo/customizations/ui/{basic_demo_app → reference_react_app}/src/Product.js +0 -0
  84. /api_logic_server_cli/prototypes/basic_demo/customizations/ui/{basic_demo_app → reference_react_app}/src/SysEmail.js +0 -0
  85. /api_logic_server_cli/prototypes/basic_demo/customizations/ui/{basic_demo_app → reference_react_app}/src/SysMcp.js +0 -0
  86. /api_logic_server_cli/prototypes/basic_demo/customizations/ui/{basic_demo_app → reference_react_app}/src/app_loader.js +0 -0
  87. /api_logic_server_cli/prototypes/basic_demo/customizations/ui/{basic_demo_app → reference_react_app}/src/index.css +0 -0
  88. /api_logic_server_cli/prototypes/basic_demo/customizations/ui/{basic_demo_app → reference_react_app}/src/index.js +0 -0
  89. /api_logic_server_cli/prototypes/basic_demo/customizations/ui/{basic_demo_app → reference_react_app}/src/logo.svg +0 -0
  90. /api_logic_server_cli/prototypes/basic_demo/customizations/ui/{basic_demo_app → reference_react_app}/src/rav4-jsonapi-client/.eslintrc +0 -0
  91. /api_logic_server_cli/prototypes/basic_demo/customizations/ui/{basic_demo_app → reference_react_app}/src/rav4-jsonapi-client/.yarnrc.yml +0 -0
  92. /api_logic_server_cli/prototypes/basic_demo/customizations/ui/{basic_demo_app → reference_react_app}/src/rav4-jsonapi-client/default-settings.js +0 -0
  93. /api_logic_server_cli/prototypes/basic_demo/customizations/ui/{basic_demo_app → reference_react_app}/src/rav4-jsonapi-client/default-settings.ts +0 -0
  94. /api_logic_server_cli/prototypes/basic_demo/customizations/ui/{basic_demo_app → reference_react_app}/src/rav4-jsonapi-client/errors.js +0 -0
  95. /api_logic_server_cli/prototypes/basic_demo/customizations/ui/{basic_demo_app → reference_react_app}/src/rav4-jsonapi-client/errors.ts +0 -0
  96. /api_logic_server_cli/prototypes/basic_demo/customizations/ui/{basic_demo_app → reference_react_app}/src/rav4-jsonapi-client/index.test.tsx +0 -0
  97. /api_logic_server_cli/prototypes/basic_demo/customizations/ui/{basic_demo_app → reference_react_app}/src/rav4-jsonapi-client/index.tsx +0 -0
  98. /api_logic_server_cli/prototypes/basic_demo/customizations/ui/{basic_demo_app → reference_react_app}/src/rav4-jsonapi-client/ra-jsonapi-client.js +0 -0
  99. /api_logic_server_cli/prototypes/basic_demo/customizations/ui/{basic_demo_app → reference_react_app}/src/rav4-jsonapi-client/ra-jsonapi-client.ts +0 -0
  100. /api_logic_server_cli/prototypes/basic_demo/customizations/ui/{basic_demo_app → reference_react_app}/src/rav4-jsonapi-client/resourceLookup.js +0 -0
  101. /api_logic_server_cli/prototypes/basic_demo/customizations/ui/{basic_demo_app → reference_react_app}/src/rav4-jsonapi-client/resourceLookup.ts +0 -0
  102. /api_logic_server_cli/prototypes/basic_demo/customizations/ui/{basic_demo_app → reference_react_app}/src/rav4-jsonapi-client/styles.module.css +0 -0
  103. /api_logic_server_cli/prototypes/basic_demo/customizations/ui/{basic_demo_app → reference_react_app}/src/reportWebVitals.js +0 -0
  104. /api_logic_server_cli/prototypes/basic_demo/customizations/ui/{basic_demo_app → reference_react_app}/src/setupTests.js +0 -0
  105. /api_logic_server_cli/prototypes/nw/ui/{react_admin → reference_react_app}/README_create_react_app.md +0 -0
  106. /api_logic_server_cli/prototypes/nw/ui/{react_admin → reference_react_app}/public/favicon.ico +0 -0
  107. /api_logic_server_cli/prototypes/nw/ui/{react_admin → reference_react_app}/public/index.html +0 -0
  108. /api_logic_server_cli/prototypes/nw/ui/{react_admin → reference_react_app}/public/logo192.png +0 -0
  109. /api_logic_server_cli/prototypes/nw/ui/{react_admin → reference_react_app}/public/logo512.png +0 -0
  110. /api_logic_server_cli/prototypes/nw/ui/{react_admin → reference_react_app}/public/manifest.json +0 -0
  111. /api_logic_server_cli/prototypes/nw/ui/{react_admin → reference_react_app}/public/robots.txt +0 -0
  112. /api_logic_server_cli/prototypes/nw/ui/{react_admin → reference_react_app}/src/App.css +0 -0
  113. /api_logic_server_cli/prototypes/nw/ui/{react_admin → reference_react_app}/src/App.test.js +0 -0
  114. /api_logic_server_cli/prototypes/nw/ui/{react_admin → reference_react_app}/src/SampleDBVersion.js +0 -0
  115. /api_logic_server_cli/prototypes/nw/ui/{react_admin → reference_react_app}/src/dataProvider.js +0 -0
  116. /api_logic_server_cli/prototypes/nw/ui/{react_admin → reference_react_app}/src/index.css +0 -0
  117. /api_logic_server_cli/prototypes/nw/ui/{react_admin → reference_react_app}/src/index.js +0 -0
  118. /api_logic_server_cli/prototypes/nw/ui/{react_admin → reference_react_app}/src/logo.svg +0 -0
  119. /api_logic_server_cli/prototypes/nw/ui/{react_admin → reference_react_app}/src/reportWebVitals.js +0 -0
  120. /api_logic_server_cli/prototypes/nw/ui/{react_admin → reference_react_app}/src/setupTests.js +0 -0
  121. {apilogicserver-15.0.27.dist-info → apilogicserver-15.0.28.dist-info}/WHEEL +0 -0
  122. {apilogicserver-15.0.27.dist-info → apilogicserver-15.0.28.dist-info}/entry_points.txt +0 -0
  123. {apilogicserver-15.0.27.dist-info → apilogicserver-15.0.28.dist-info}/licenses/LICENSE +0 -0
  124. {apilogicserver-15.0.27.dist-info → apilogicserver-15.0.28.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,147 @@
1
+ // Begin constant imports (always included)
2
+ import React from 'react';
3
+ import { Admin, Resource, Loading } from 'react-admin';
4
+ import { jsonapiClient } from './rav4-jsonapi-client/ra-jsonapi-client';
5
+ import { createTheme } from '@mui/material/styles';
6
+ import { useConf, loadHomeConf } from './Config';
7
+ // End constant imports
8
+
9
+ // Import each resource
10
+ import { CustomerList, CustomerShow, CustomerCreate, CustomerEdit } from './Customer';
11
+ import { CategoryList, CategoryShow, CategoryCreate, CategoryEdit } from './Category';
12
+ import { DepartmentList, DepartmentShow, DepartmentCreate, DepartmentEdit } from './Department';
13
+ import { EmployeeList, EmployeeShow, EmployeeCreate, EmployeeEdit } from './Employee';
14
+ import { OrderList, OrderShow, OrderCreate, OrderEdit } from './Order';
15
+ import { OrderDetailList, OrderDetailShow, OrderDetailCreate, OrderDetailEdit } from './OrderDetail';
16
+ import { ProductList, ProductShow, ProductCreate, ProductEdit } from './Product';
17
+ import { SupplierList, SupplierShow, SupplierCreate, SupplierEdit } from './Supplier';
18
+ import { ShipperList, ShipperShow, ShipperCreate, ShipperEdit } from './Shipper';
19
+ import { RegionList, RegionShow, RegionCreate, RegionEdit } from './Region';
20
+ import { TerritoryList, TerritoryShow, TerritoryCreate, TerritoryEdit } from './Territory';
21
+ import { UnionList, UnionShow, UnionCreate, UnionEdit } from './Union';
22
+
23
+ const theme = createTheme({
24
+ palette: {
25
+ primary: { main: '#1976d2' },
26
+ secondary: { main: '#1565c0' },
27
+ },
28
+ typography: { fontSize: 14 },
29
+ });
30
+
31
+ const App = () => {
32
+ const [conf, setConf] = React.useState({});
33
+ const [loading, setLoading] = React.useState(true);
34
+
35
+ React.useEffect(() => {
36
+ const fetchData = async () => {
37
+ try {
38
+ console.log('loading HomeConf-1');
39
+ const conf = await loadHomeConf();
40
+ setConf(conf);
41
+ setLoading(false);
42
+ console.log('AppConf0: ', conf);
43
+ } catch (error) {
44
+ console.error('Error fetching data:', error);
45
+ sessionStorage.removeItem('raSpa');
46
+ }
47
+ };
48
+ fetchData();
49
+ }, []);
50
+
51
+ if (loading) {
52
+ return <Loading loadingPrimary="Loading..." loadingSecondary="Please wait" />;
53
+ }
54
+
55
+ const dataProvider = jsonapiClient(conf.api_root, { conf: {} }, null);
56
+
57
+ return (
58
+ <Admin dataProvider={dataProvider} theme={theme}>
59
+ <Resource
60
+ name="Customer"
61
+ list={CustomerList}
62
+ show={CustomerShow}
63
+ edit={CustomerEdit}
64
+ create={CustomerCreate}
65
+ />
66
+ <Resource
67
+ name="Category"
68
+ list={CategoryList}
69
+ show={CategoryShow}
70
+ edit={CategoryEdit}
71
+ create={CategoryCreate}
72
+ />
73
+ <Resource
74
+ name="Department"
75
+ list={DepartmentList}
76
+ show={DepartmentShow}
77
+ edit={DepartmentEdit}
78
+ create={DepartmentCreate}
79
+ />
80
+ <Resource
81
+ name="Employee"
82
+ list={EmployeeList}
83
+ show={EmployeeShow}
84
+ edit={EmployeeEdit}
85
+ create={EmployeeCreate}
86
+ />
87
+ <Resource
88
+ name="Order"
89
+ list={OrderList}
90
+ show={OrderShow}
91
+ edit={OrderEdit}
92
+ create={OrderCreate}
93
+ />
94
+ <Resource
95
+ name="OrderDetail"
96
+ list={OrderDetailList}
97
+ show={OrderDetailShow}
98
+ edit={OrderDetailEdit}
99
+ create={OrderDetailCreate}
100
+ />
101
+ <Resource
102
+ name="Product"
103
+ list={ProductList}
104
+ show={ProductShow}
105
+ edit={ProductEdit}
106
+ create={ProductCreate}
107
+ />
108
+ <Resource
109
+ name="Supplier"
110
+ list={SupplierList}
111
+ show={SupplierShow}
112
+ edit={SupplierEdit}
113
+ create={SupplierCreate}
114
+ />
115
+ <Resource
116
+ name="Shipper"
117
+ list={ShipperList}
118
+ show={ShipperShow}
119
+ edit={ShipperEdit}
120
+ create={ShipperCreate}
121
+ />
122
+ <Resource
123
+ name="Region"
124
+ list={RegionList}
125
+ show={RegionShow}
126
+ edit={RegionEdit}
127
+ create={RegionCreate}
128
+ />
129
+ <Resource
130
+ name="Territory"
131
+ list={TerritoryList}
132
+ show={TerritoryShow}
133
+ edit={TerritoryEdit}
134
+ create={TerritoryCreate}
135
+ />
136
+ <Resource
137
+ name="Union"
138
+ list={UnionList}
139
+ show={UnionShow}
140
+ edit={UnionEdit}
141
+ create={UnionCreate}
142
+ />
143
+ </Admin>
144
+ );
145
+ };
146
+
147
+ export default App;
@@ -0,0 +1,141 @@
1
+ // begin MANDATORY imports (always generated EXACTLY)
2
+ import React from 'react';
3
+ import { List, FunctionField, Datagrid, TextField, EmailField, DateField, NumberField } from 'react-admin';
4
+ import { ReferenceField, ReferenceManyField } from 'react-admin';
5
+ import { TabbedShowLayout, Tab, SimpleShowLayout, TextInput, NumberInput, DateTimeInput } from 'react-admin';
6
+ import { ReferenceInput, SelectInput, SimpleForm, Show, Edit, Create } from 'react-admin';
7
+ import { Filter, Pagination, BooleanField, BooleanInput, Labeled } from 'react-admin';
8
+ import { EditButton, DeleteButton, CreateButton, ShowButton } from 'react-admin';
9
+ import { Grid, Typography, Box, Divider, Button } from '@mui/material';
10
+ import { useRecordContext, useRedirect, Link, required } from 'react-admin';
11
+ import AddIcon from '@mui/icons-material/Add';
12
+ // end mandatory imports
13
+
14
+ const CategoryFilter = (props) => (
15
+ <Filter {...props}>
16
+ <TextInput label="Search" source="CategoryName" alwaysOn />
17
+ </Filter>
18
+ );
19
+
20
+ // Category List
21
+ export const CategoryList = (props) => {
22
+ return (
23
+ <List filters={<CategoryFilter />} {...props} sort={{ field: 'CategoryName', order: 'ASC' }} pagination={<Pagination rowsPerPageOptions={[5, 10, 25]} showFirstLastButtons />}>
24
+ <Datagrid rowClick="show">
25
+ <TextField source="CategoryName" label="Category Name" />
26
+ <TextField source="Description" label="Description" />
27
+ <NumberField source="Client_id" label="Client ID" />
28
+ </Datagrid>
29
+ </List>
30
+ );
31
+ };
32
+
33
+ // Category Show
34
+ export const CategoryShow = (props) => {
35
+ return (
36
+ <Show {...props}>
37
+ <SimpleShowLayout>
38
+ <Box sx={{ mb: 3 }}>
39
+ <Typography variant="h5" component="h2" sx={{ mb: 2, fontWeight: 'bold' }}>
40
+ Category Details
41
+ </Typography>
42
+ <Grid container spacing={3} sx={{ mb: 2 }}>
43
+ <Grid item xs={12} sm={6} md={4}>
44
+ <Box sx={{ p: 1 }}>
45
+ <Labeled label="Category Name">
46
+ <TextField source="CategoryName" />
47
+ </Labeled>
48
+ </Box>
49
+ </Grid>
50
+ <Grid item xs={12} sm={6} md={4}>
51
+ <Box sx={{ p: 1 }}>
52
+ <Labeled label="Description">
53
+ <TextField source="Description" />
54
+ </Labeled>
55
+ </Box>
56
+ </Grid>
57
+ <Grid item xs={12} sm={6} md={4}>
58
+ <Box sx={{ p: 1 }}>
59
+ <Labeled label="Client ID">
60
+ <NumberField source="Client_id" />
61
+ </Labeled>
62
+ </Box>
63
+ </Grid>
64
+ </Grid>
65
+ <Divider sx={{ my: 2 }} />
66
+ </Box>
67
+ </SimpleShowLayout>
68
+ </Show>
69
+ );
70
+ };
71
+
72
+ // Category Create
73
+ export const CategoryCreate = (props) => {
74
+ return (
75
+ <Create {...props}>
76
+ <SimpleForm>
77
+ <Box sx={{ mb: 3 }}>
78
+ <Typography variant="h5" component="h2" sx={{ mb: 2, fontWeight: 'bold' }}>
79
+ Create New Category
80
+ </Typography>
81
+ <Grid container spacing={3} sx={{ mb: 2 }}>
82
+ <Grid item xs={12} sm={6} md={4}>
83
+ <Box sx={{ p: 1 }}>
84
+ <TextInput source="CategoryName" label="Category Name" fullWidth validate={required()} />
85
+ </Box>
86
+ </Grid>
87
+ <Grid item xs={12} sm={6} md={4}>
88
+ <Box sx={{ p: 1 }}>
89
+ <TextInput source="Description" label="Description" fullWidth />
90
+ </Box>
91
+ </Grid>
92
+ <Grid item xs={12} sm={6} md={4}>
93
+ <Box sx={{ p: 1 }}>
94
+ <NumberInput source="Client_id" label="Client ID" fullWidth />
95
+ </Box>
96
+ </Grid>
97
+ </Grid>
98
+ </Box>
99
+ </SimpleForm>
100
+ </Create>
101
+ );
102
+ };
103
+
104
+ // Category Edit
105
+ export const CategoryEdit = (props) => {
106
+ return (
107
+ <Edit {...props} redirect={false}>
108
+ <SimpleForm>
109
+ <Box sx={{ mb: 3 }}>
110
+ <Typography variant="h5" component="h2" sx={{ mb: 2, fontWeight: 'bold' }}>
111
+ Edit Category
112
+ </Typography>
113
+ <Grid container spacing={3} sx={{ mb: 2 }}>
114
+ <Grid item xs={12} sm={6} md={4}>
115
+ <Box sx={{ p: 1 }}>
116
+ <TextInput source="CategoryName" label="Category Name" fullWidth validate={required()} />
117
+ </Box>
118
+ </Grid>
119
+ <Grid item xs={12} sm={6} md={4}>
120
+ <Box sx={{ p: 1 }}>
121
+ <TextInput source="Description" label="Description" fullWidth />
122
+ </Box>
123
+ </Grid>
124
+ <Grid item xs={12} sm={6} md={4}>
125
+ <Box sx={{ p: 1 }}>
126
+ <NumberInput source="Client_id" label="Client ID" fullWidth />
127
+ </Box>
128
+ </Grid>
129
+ </Grid>
130
+ </Box>
131
+ </SimpleForm>
132
+ </Edit>
133
+ );
134
+ };
135
+
136
+ export default {
137
+ list: CategoryList,
138
+ show: CategoryShow,
139
+ create: CategoryCreate,
140
+ edit: CategoryEdit,
141
+ };