admin_lsac 1.1.4 → 1.2.1

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.
@@ -0,0 +1,343 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
11
+ }) : function(o, v) {
12
+ o["default"] = v;
13
+ });
14
+ var __importStar = (this && this.__importStar) || function (mod) {
15
+ if (mod && mod.__esModule) return mod;
16
+ var result = {};
17
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
+ __setModuleDefault(result, mod);
19
+ return result;
20
+ };
21
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
22
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
23
+ return new (P || (P = Promise))(function (resolve, reject) {
24
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
25
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
26
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
27
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
28
+ });
29
+ };
30
+ var __generator = (this && this.__generator) || function (thisArg, body) {
31
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
32
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
33
+ function verb(n) { return function (v) { return step([n, v]); }; }
34
+ function step(op) {
35
+ if (f) throw new TypeError("Generator is already executing.");
36
+ while (_) try {
37
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
38
+ if (y = 0, t) op = [op[0] & 2, t.value];
39
+ switch (op[0]) {
40
+ case 0: case 1: t = op; break;
41
+ case 4: _.label++; return { value: op[1], done: false };
42
+ case 5: _.label++; y = op[1]; op = [0]; continue;
43
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
44
+ default:
45
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
46
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
47
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
48
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
49
+ if (t[2]) _.ops.pop();
50
+ _.trys.pop(); continue;
51
+ }
52
+ op = body.call(thisArg, _);
53
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
54
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
55
+ }
56
+ };
57
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
58
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
59
+ if (ar || !(i in from)) {
60
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
61
+ ar[i] = from[i];
62
+ }
63
+ }
64
+ return to.concat(ar || Array.prototype.slice.call(from));
65
+ };
66
+ Object.defineProperty(exports, "__esModule", { value: true });
67
+ exports.page = void 0;
68
+ var Yup = __importStar(require("yup"));
69
+ var typeAdding = function (objectField) {
70
+ objectField.type = "object";
71
+ objectField.fields = __spreadArray(__spreadArray(__spreadArray(__spreadArray([], objectField.simpleFields, true), objectField.dropdownFields, true), objectField.objectFields, true), objectField.arrayFields, true);
72
+ if (objectField.objectFields) {
73
+ objectField.objectFields.map(function (objectField) {
74
+ objectField = typeAdding(objectField);
75
+ return objectField;
76
+ });
77
+ }
78
+ if (objectField.arrayFields) {
79
+ objectField.arrayFields.map(function (arrayField) {
80
+ arrayField.element = typeAdding(arrayField.element);
81
+ return arrayField;
82
+ });
83
+ }
84
+ return objectField;
85
+ };
86
+ var arrayObjs = function (x) {
87
+ if (x > 0)
88
+ return [{
89
+ name: "simpleFields",
90
+ label: "Type SimpleField",
91
+ type: "array",
92
+ element: {
93
+ name: "",
94
+ label: "",
95
+ type: "object",
96
+ fields: [{
97
+ name: "name",
98
+ label: "Name",
99
+ type: "string",
100
+ validationSchema: Yup.string().required()
101
+ },
102
+ {
103
+ name: "label",
104
+ label: "Label",
105
+ type: "string",
106
+ validationSchema: Yup.string().required()
107
+ },
108
+ {
109
+ name: "type",
110
+ label: "Type",
111
+ type: "string",
112
+ validationSchema: Yup.string().required()
113
+ },
114
+ {
115
+ name: "validationSchema",
116
+ label: "Validation Schema",
117
+ type: "string",
118
+ validationSchema: Yup.string().required()
119
+ }]
120
+ }
121
+ },
122
+ {
123
+ name: "dropdownFields",
124
+ label: "Type DropdownField",
125
+ type: "array",
126
+ element: {
127
+ name: "",
128
+ label: "",
129
+ type: "object",
130
+ fields: [{
131
+ name: "name",
132
+ label: "Name",
133
+ type: "string",
134
+ validationSchema: Yup.string().required()
135
+ },
136
+ {
137
+ name: "label",
138
+ label: "Label",
139
+ type: "string",
140
+ validationSchema: Yup.string().required()
141
+ },
142
+ {
143
+ name: "options",
144
+ label: "Options",
145
+ type: "array",
146
+ element: {
147
+ name: "",
148
+ label: "",
149
+ type: "object",
150
+ fields: [{
151
+ name: "value",
152
+ label: "Value",
153
+ type: "string",
154
+ validationSchema: Yup.string().required()
155
+ },
156
+ {
157
+ name: "display",
158
+ label: "Display",
159
+ type: "string",
160
+ validationSchema: Yup.string().required()
161
+ }]
162
+ }
163
+ },
164
+ {
165
+ name: "getOptions",
166
+ label: "GetOptions Function",
167
+ type: "string",
168
+ validationSchema: Yup.string().required()
169
+ }]
170
+ }
171
+ },
172
+ {
173
+ name: "objectFields",
174
+ label: "Type ObjectField",
175
+ type: "array",
176
+ element: {
177
+ name: "",
178
+ label: "",
179
+ type: "object",
180
+ fields: __spreadArray([{
181
+ name: "name",
182
+ label: "Name",
183
+ type: "string",
184
+ validationSchema: Yup.string().required()
185
+ },
186
+ {
187
+ name: "label",
188
+ label: "Label",
189
+ type: "string",
190
+ validationSchema: Yup.string().required()
191
+ }], arrayObjs(x - 1), true)
192
+ }
193
+ },
194
+ {
195
+ name: "arrayFields",
196
+ label: "Type ArrayField",
197
+ type: "array",
198
+ element: {
199
+ name: "",
200
+ label: "",
201
+ type: "object",
202
+ fields: __spreadArray([{
203
+ name: "name",
204
+ label: "Name",
205
+ type: "string",
206
+ validationSchema: Yup.string().required()
207
+ },
208
+ {
209
+ name: "label",
210
+ label: "Label",
211
+ type: "string",
212
+ validationSchema: Yup.string().required()
213
+ }], arrayObjs(x - 1), true)
214
+ }
215
+ }];
216
+ else
217
+ return [];
218
+ };
219
+ exports.page = {
220
+ name: "Pages",
221
+ getRequest: function () { return __awaiter(void 0, void 0, void 0, function () { return __generator(this, function (_a) {
222
+ return [2 /*return*/, []];
223
+ }); }); },
224
+ tableFields: [],
225
+ actions: [{
226
+ name: "Create New Page",
227
+ fields: [{
228
+ name: "name",
229
+ label: "Page Name",
230
+ type: "string",
231
+ validationSchema: Yup.string().required()
232
+ },
233
+ {
234
+ name: "getRequest",
235
+ label: "GetRequest",
236
+ type: "string",
237
+ validationSchema: Yup.string().required()
238
+ },
239
+ {
240
+ name: "tableFields",
241
+ label: "TableFields",
242
+ type: "array",
243
+ element: {
244
+ name: "",
245
+ label: "",
246
+ type: "object",
247
+ fields: [{
248
+ name: "name",
249
+ label: "TableField Name",
250
+ type: "string",
251
+ validationSchema: Yup.string().required()
252
+ },
253
+ {
254
+ name: "access",
255
+ label: "TableField Access Function",
256
+ type: "string",
257
+ validationSchema: Yup.string().required()
258
+ }]
259
+ }
260
+ },
261
+ {
262
+ name: "actions",
263
+ label: "Actions",
264
+ type: "array",
265
+ element: {
266
+ name: "",
267
+ label: "",
268
+ type: "object",
269
+ fields: __spreadArray(__spreadArray([{
270
+ name: "name",
271
+ label: "Action Name",
272
+ type: "string",
273
+ validationSchema: Yup.string().required()
274
+ }], arrayObjs(4), true), [{
275
+ name: "onSubmit",
276
+ label: "Action OnSubmit Function",
277
+ type: "string",
278
+ validationSchema: Yup.string().required()
279
+ }], false)
280
+ }
281
+ },
282
+ {
283
+ name: "rowActions",
284
+ label: "Row Actions",
285
+ type: "array",
286
+ element: {
287
+ name: "",
288
+ label: "",
289
+ type: "object",
290
+ fields: __spreadArray(__spreadArray([{
291
+ name: "name",
292
+ label: "Row Action Name",
293
+ type: "string",
294
+ validationSchema: Yup.string().required()
295
+ }], arrayObjs(4), true), [{
296
+ name: "initialise",
297
+ label: "Row Action Initialise Function",
298
+ type: "string",
299
+ validationSchema: ""
300
+ },
301
+ {
302
+ name: "onSubmit",
303
+ label: "Row Action OnSubmit Function",
304
+ type: "string",
305
+ validationSchema: Yup.string().required()
306
+ }], false)
307
+ }
308
+ }],
309
+ onSubmit: function (formValues) { return __awaiter(void 0, void 0, void 0, function () {
310
+ return __generator(this, function (_a) {
311
+ if (Array.isArray(formValues.actions))
312
+ formValues.actions.map(function (action) {
313
+ var _a, _b, _c;
314
+ (_a = action.dropdownFields) === null || _a === void 0 ? void 0 : _a.map(function (actionField) { return actionField.type = "dropdown"; });
315
+ (_b = action.objectFields) === null || _b === void 0 ? void 0 : _b.map(function (actionField) { return actionField = typeAdding(actionField); });
316
+ (_c = action.arrayFields) === null || _c === void 0 ? void 0 : _c.map(function (actionField) {
317
+ actionField.type = "array";
318
+ actionField.element = typeAdding(actionField.element);
319
+ return actionField;
320
+ });
321
+ action.fields = __spreadArray(__spreadArray(__spreadArray(__spreadArray([], action.simpleFields, true), action.dropdownFields, true), action.objectFields, true), action.arrayFields, true);
322
+ return action;
323
+ });
324
+ if (Array.isArray(formValues.rowActions))
325
+ formValues.actions.map(function (rowAction) {
326
+ var _a, _b, _c;
327
+ (_a = rowAction.dropdownFields) === null || _a === void 0 ? void 0 : _a.map(function (rowActionField) { return rowActionField.type = "dropdown"; });
328
+ (_b = rowAction.objectFields) === null || _b === void 0 ? void 0 : _b.map(function (rowActionField) { return rowActionField = typeAdding(rowActionField); });
329
+ (_c = rowAction.arrayFields) === null || _c === void 0 ? void 0 : _c.map(function (rowActionField) {
330
+ rowActionField.type = "array";
331
+ rowActionField.element = typeAdding(rowActionField.element);
332
+ return rowActionField;
333
+ });
334
+ rowAction.fields = __spreadArray(__spreadArray(__spreadArray(__spreadArray([], rowAction.simpleFields, true), rowAction.dropdownFields, true), rowAction.objectFields, true), rowAction.arrayFields, true);
335
+ return rowAction;
336
+ });
337
+ console.log(formValues);
338
+ return [2 /*return*/, []];
339
+ });
340
+ }); }
341
+ }],
342
+ rowActions: [],
343
+ };
@@ -1,11 +1,7 @@
1
1
  "use strict";
2
2
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
3
  if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
9
5
  }) : (function(o, m, k, k2) {
10
6
  if (k2 === undefined) k2 = k;
11
7
  o[k2] = m[k];
@@ -2,6 +2,8 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.pages = void 0;
4
4
  var event_1 = require("../pages/event");
5
+ var page_1 = require("../pages/page");
5
6
  exports.pages = [
6
- event_1.event, // example schema
7
+ event_1.event,
8
+ page_1.page,
7
9
  ];
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "admin_lsac",
3
- "version": "1.1.4",
3
+ "version": "1.2.1",
4
4
  "description": "Generic Admin Panel created for storing events' data",
5
5
  "private": false,
6
6
  "dependencies": {
package/src/App.tsx CHANGED
@@ -3,6 +3,7 @@ import { BrowserRouter, Route, Routes } from "react-router-dom";
3
3
  import { Page } from "./components/Page";
4
4
  import { pageToUrl } from "./schema/schema";
5
5
  import * as React from "react";
6
+ import { page } from "./pages/page";
6
7
 
7
8
  interface TableField {
8
9
  name: string;
@@ -66,25 +67,29 @@ interface PageSchema {
66
67
  tableFields: TableField[];
67
68
  }
68
69
 
69
- function AdminPanel({ pages }: { pages: PageSchema[] }) {
70
+ function AdminPanel({ pages, basePath }: { pages: PageSchema[], basePath: string }) {
71
+ const [pagesToDisplay, setPagesToDisplay] = React.useState(pages);
72
+
73
+ React.useEffect(() => {
74
+ setPagesToDisplay([...pages, page]);
75
+ }, [])
76
+
70
77
  return (
71
78
  <ChakraProvider>
72
- <BrowserRouter>
73
- <Routes>
74
- {pages.map((page) => (
75
- <Route
76
- path={pageToUrl(page)}
77
- element={<Page pages={pages} selectedPage={page} />}
78
- />
79
- ))}
80
- {pages[0] ?
81
- <Route
82
- path="*"
83
- element={<Page pages={pages} selectedPage={pages[0]} />}
84
- />
85
- : null}
86
- </Routes>
87
- </BrowserRouter>
79
+ <Routes>
80
+ {pagesToDisplay.map((page) => (
81
+ <Route
82
+ path={`${basePath}/${pageToUrl(page)}`}
83
+ element={<Page pages={pagesToDisplay} selectedPage={page} />}
84
+ />
85
+ ))}
86
+ {pages[0] ?
87
+ <Route
88
+ path={`${basePath}/*`}
89
+ element={<Page pages={pagesToDisplay} selectedPage={pages[0]} />}
90
+ />
91
+ : null}
92
+ </Routes>
88
93
  </ChakraProvider>
89
94
  );
90
95
  }
package/src/index.tsx CHANGED
@@ -1,20 +1,20 @@
1
- import React from "react";
2
- import ReactDOM from "react-dom/client";
3
- import "./index.css";
4
- import AdminPanel from "./App";
5
- import reportWebVitals from "./reportWebVitals";
6
- import { event } from "./pages/event";
7
-
8
- const root = ReactDOM.createRoot(
9
- document.getElementById("root") as HTMLElement
10
- );
11
- root.render(
12
- <React.StrictMode>
13
- <AdminPanel pages={[event]} />
14
- </React.StrictMode>
15
- );
16
-
17
- // If you want to start measuring performance in your app, pass a function
18
- // to log results (for example: reportWebVitals(console.log))
19
- // or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals
20
- reportWebVitals();
1
+ import React from "react";
2
+ import ReactDOM from "react-dom/client";
3
+ import "./index.css";
4
+ import AdminPanel from "./App";
5
+ import reportWebVitals from "./reportWebVitals";
6
+ import { event } from "./pages/event";
7
+
8
+ const root = ReactDOM.createRoot(
9
+ document.getElementById("root") as HTMLElement
10
+ );
11
+ root.render(
12
+ <React.StrictMode>
13
+ <AdminPanel pages={[event]} basePath="" />
14
+ </React.StrictMode>
15
+ );
16
+
17
+ // If you want to start measuring performance in your app, pass a function
18
+ // to log results (for example: reportWebVitals(console.log))
19
+ // or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals
20
+ reportWebVitals();