admin_lsac 1.2.7 → 1.2.9
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.
- package/dist/App.js +3 -3
- package/dist/cjs/App.js +3 -3
- package/dist/cjs/components/GenericForm.js +40 -8
- package/dist/cjs/components/Page.js +23 -8
- package/dist/cjs/index.js +2 -2
- package/dist/cjs/pages/event.js +25 -1
- package/dist/cjs/utils/websockets.js +22 -0
- package/dist/components/GenericForm.js +40 -8
- package/dist/components/Page.js +23 -8
- package/dist/esm/App.js +3 -3
- package/dist/esm/components/GenericForm.js +40 -8
- package/dist/esm/components/Page.js +23 -8
- package/dist/esm/index.js +3 -3
- package/dist/esm/pages/event.js +25 -1
- package/dist/esm/utils/websockets.js +15 -0
- package/dist/index.js +2 -2
- package/dist/pages/event.js +25 -1
- package/dist/utils/websockets.js +22 -0
- package/package.json +2 -1
- package/src/App.tsx +50 -110
- package/src/components/GenericForm.tsx +308 -281
- package/src/components/Page.tsx +243 -223
- package/src/index.tsx +20 -20
- package/src/pages/event.ts +93 -69
- package/src/pages/page.ts +336 -336
- package/src/schema/schema.config.ts +8 -8
- package/src/schema/schema.ts +63 -64
- package/src/utils/websockets.tsx +17 -0
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import io from "socket.io-client";
|
|
2
|
+
import { useEffect } from "react";
|
|
3
|
+
var Socket = function (setSocket, apiURL) {
|
|
4
|
+
useEffect(function () {
|
|
5
|
+
var socketRef = io(apiURL, {
|
|
6
|
+
transports: ["websocket"],
|
|
7
|
+
});
|
|
8
|
+
setSocket(socketRef);
|
|
9
|
+
return function () {
|
|
10
|
+
socketRef.removeAllListeners();
|
|
11
|
+
socketRef.disconnect();
|
|
12
|
+
};
|
|
13
|
+
}, []);
|
|
14
|
+
};
|
|
15
|
+
export var newSocket = function (setSocket, apiURL) { return Socket(setSocket, apiURL); };
|
package/dist/index.js
CHANGED
|
@@ -9,9 +9,9 @@ var client_1 = __importDefault(require("react-dom/client"));
|
|
|
9
9
|
require("./index.css");
|
|
10
10
|
var App_1 = __importDefault(require("./App"));
|
|
11
11
|
var reportWebVitals_1 = __importDefault(require("./reportWebVitals"));
|
|
12
|
-
var
|
|
12
|
+
var schema_config_1 = require("./schema/schema.config");
|
|
13
13
|
var root = client_1.default.createRoot(document.getElementById("root"));
|
|
14
|
-
root.render((0, jsx_runtime_1.jsx)(react_1.default.StrictMode, { children: (0, jsx_runtime_1.jsx)(App_1.default, { pages:
|
|
14
|
+
root.render((0, jsx_runtime_1.jsx)(react_1.default.StrictMode, { children: (0, jsx_runtime_1.jsx)(App_1.default, { pages: schema_config_1.pages, basePath: "" }) }));
|
|
15
15
|
// If you want to start measuring performance in your app, pass a function
|
|
16
16
|
// to log results (for example: reportWebVitals(console.log))
|
|
17
17
|
// or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals
|
package/dist/pages/event.js
CHANGED
|
@@ -45,7 +45,31 @@ var domain = "http://localhost:3001";
|
|
|
45
45
|
exports.event = {
|
|
46
46
|
name: "Events",
|
|
47
47
|
actions: [],
|
|
48
|
-
rowActions: [
|
|
48
|
+
rowActions: [
|
|
49
|
+
// {
|
|
50
|
+
// name: "Delete Event",
|
|
51
|
+
// fields: [
|
|
52
|
+
// {
|
|
53
|
+
// name: "input",
|
|
54
|
+
// label: "Mock Field",
|
|
55
|
+
// type: "string",
|
|
56
|
+
// validationSchema: "",
|
|
57
|
+
// },
|
|
58
|
+
// ],
|
|
59
|
+
// initialise: async (eventId: number) => {
|
|
60
|
+
// const res = await axios.get(domain + "/events/" + eventId);
|
|
61
|
+
// let obj: any = {};
|
|
62
|
+
// obj.input = res.data.name;
|
|
63
|
+
// return obj;
|
|
64
|
+
// },
|
|
65
|
+
// onSubmit: async (formValues: any, eventId: number) => {
|
|
66
|
+
// const res = await axios.delete(
|
|
67
|
+
// domain + "/events/" + eventId
|
|
68
|
+
// );
|
|
69
|
+
// return res.data;
|
|
70
|
+
// },
|
|
71
|
+
// }
|
|
72
|
+
],
|
|
49
73
|
getRequest: function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
50
74
|
return __generator(this, function (_a) {
|
|
51
75
|
// const res = await axios.get(domain + "/events");
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.newSocket = void 0;
|
|
7
|
+
var socket_io_client_1 = __importDefault(require("socket.io-client"));
|
|
8
|
+
var react_1 = require("react");
|
|
9
|
+
var Socket = function (setSocket, apiURL) {
|
|
10
|
+
(0, react_1.useEffect)(function () {
|
|
11
|
+
var socketRef = (0, socket_io_client_1.default)(apiURL, {
|
|
12
|
+
transports: ["websocket"],
|
|
13
|
+
});
|
|
14
|
+
setSocket(socketRef);
|
|
15
|
+
return function () {
|
|
16
|
+
socketRef.removeAllListeners();
|
|
17
|
+
socketRef.disconnect();
|
|
18
|
+
};
|
|
19
|
+
}, []);
|
|
20
|
+
};
|
|
21
|
+
var newSocket = function (setSocket, apiURL) { return Socket(setSocket, apiURL); };
|
|
22
|
+
exports.newSocket = newSocket;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "admin_lsac",
|
|
3
|
-
"version": "1.2.
|
|
3
|
+
"version": "1.2.9",
|
|
4
4
|
"description": "Generic Admin Panel created for storing events' data",
|
|
5
5
|
"private": false,
|
|
6
6
|
"dependencies": {
|
|
@@ -30,6 +30,7 @@
|
|
|
30
30
|
"react-router-dom": "^6.10.0",
|
|
31
31
|
"react-scripts": "^5.0.1",
|
|
32
32
|
"react-table": "^7.8.0",
|
|
33
|
+
"socket.io-client": "^4.7.5",
|
|
33
34
|
"sweetalert2": "^11.6.13",
|
|
34
35
|
"typescript": "^4.9.5",
|
|
35
36
|
"web-vitals": "^2.1.4",
|
package/src/App.tsx
CHANGED
|
@@ -1,110 +1,50 @@
|
|
|
1
|
-
import { ChakraProvider } from "@chakra-ui/react";
|
|
2
|
-
import { BrowserRouter, Route, Routes } from "react-router-dom";
|
|
3
|
-
import { AdminPage } from "./components/Page";
|
|
4
|
-
import { pageToUrl } from "./components/Page";
|
|
5
|
-
import
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
onSubmit: (obj1: any, obj2?: any) => Promise<any>;
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
interface RowAction {
|
|
55
|
-
name: string;
|
|
56
|
-
fields?: FormField[];
|
|
57
|
-
initialise?: (obj: any) => any;
|
|
58
|
-
onSubmit: (obj1: any, obj2?: any) => Promise<any>;
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
interface PageSchema {
|
|
62
|
-
name: string;
|
|
63
|
-
actions: Action[];
|
|
64
|
-
rowActions: RowAction[];
|
|
65
|
-
getRequest: () => Promise<any[]>;
|
|
66
|
-
tableFields: TableField[];
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
function AdminPanel({
|
|
70
|
-
pages,
|
|
71
|
-
basePath,
|
|
72
|
-
}: {
|
|
73
|
-
pages: PageSchema[];
|
|
74
|
-
basePath: string;
|
|
75
|
-
}) {
|
|
76
|
-
return (
|
|
77
|
-
<ChakraProvider>
|
|
78
|
-
<BrowserRouter>
|
|
79
|
-
<Routes>
|
|
80
|
-
{pages.map((page) => (
|
|
81
|
-
<Route
|
|
82
|
-
path={`${basePath}/${pageToUrl(page)}`}
|
|
83
|
-
element={
|
|
84
|
-
<AdminPage
|
|
85
|
-
pages={pages}
|
|
86
|
-
selectedPage={page}
|
|
87
|
-
basePath={basePath}
|
|
88
|
-
/>
|
|
89
|
-
}
|
|
90
|
-
/>
|
|
91
|
-
))}
|
|
92
|
-
{pages[0] ? (
|
|
93
|
-
<Route
|
|
94
|
-
path={`${basePath}/*`}
|
|
95
|
-
element={
|
|
96
|
-
<AdminPage
|
|
97
|
-
pages={pages}
|
|
98
|
-
selectedPage={pages[0]}
|
|
99
|
-
basePath={basePath}
|
|
100
|
-
/>
|
|
101
|
-
}
|
|
102
|
-
/>
|
|
103
|
-
) : null}
|
|
104
|
-
</Routes>
|
|
105
|
-
</BrowserRouter>
|
|
106
|
-
</ChakraProvider>
|
|
107
|
-
);
|
|
108
|
-
}
|
|
109
|
-
|
|
110
|
-
export default AdminPanel;
|
|
1
|
+
import { ChakraProvider } from "@chakra-ui/react";
|
|
2
|
+
import { BrowserRouter, Route, Routes } from "react-router-dom";
|
|
3
|
+
import { AdminPage } from "./components/Page";
|
|
4
|
+
import { pageToUrl } from "./components/Page";
|
|
5
|
+
import { PageSchema } from "./schema/schema";
|
|
6
|
+
|
|
7
|
+
function App({
|
|
8
|
+
pages,
|
|
9
|
+
basePath,
|
|
10
|
+
}: {
|
|
11
|
+
pages: PageSchema[];
|
|
12
|
+
basePath: string;
|
|
13
|
+
}) {
|
|
14
|
+
return (
|
|
15
|
+
<ChakraProvider>
|
|
16
|
+
<BrowserRouter>
|
|
17
|
+
<Routes>
|
|
18
|
+
{pages.map((page) => (
|
|
19
|
+
<Route
|
|
20
|
+
path={`${basePath}/${pageToUrl(page)}`}
|
|
21
|
+
element={
|
|
22
|
+
<AdminPage
|
|
23
|
+
pages={pages}
|
|
24
|
+
selectedPage={page}
|
|
25
|
+
basePath={basePath}
|
|
26
|
+
apiURL="http://localhost:3001"
|
|
27
|
+
/>
|
|
28
|
+
}
|
|
29
|
+
/>
|
|
30
|
+
))}
|
|
31
|
+
{pages[0] ? (
|
|
32
|
+
<Route
|
|
33
|
+
path={`${basePath}/*`}
|
|
34
|
+
element={
|
|
35
|
+
<AdminPage
|
|
36
|
+
pages={pages}
|
|
37
|
+
selectedPage={pages[0]}
|
|
38
|
+
basePath={basePath}
|
|
39
|
+
apiURL="http://localhost:3001"
|
|
40
|
+
/>
|
|
41
|
+
}
|
|
42
|
+
/>
|
|
43
|
+
) : null}
|
|
44
|
+
</Routes>
|
|
45
|
+
</BrowserRouter>
|
|
46
|
+
</ChakraProvider>
|
|
47
|
+
);
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
export default App;
|