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,347 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
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);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
26
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
27
+ return new (P || (P = Promise))(function (resolve, reject) {
28
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
29
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
30
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
31
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
32
+ });
33
+ };
34
+ var __generator = (this && this.__generator) || function (thisArg, body) {
35
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
36
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
37
+ function verb(n) { return function (v) { return step([n, v]); }; }
38
+ function step(op) {
39
+ if (f) throw new TypeError("Generator is already executing.");
40
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
41
+ 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;
42
+ if (y = 0, t) op = [op[0] & 2, t.value];
43
+ switch (op[0]) {
44
+ case 0: case 1: t = op; break;
45
+ case 4: _.label++; return { value: op[1], done: false };
46
+ case 5: _.label++; y = op[1]; op = [0]; continue;
47
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
48
+ default:
49
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
50
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
51
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
52
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
53
+ if (t[2]) _.ops.pop();
54
+ _.trys.pop(); continue;
55
+ }
56
+ op = body.call(thisArg, _);
57
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
58
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
59
+ }
60
+ };
61
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
62
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
63
+ if (ar || !(i in from)) {
64
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
65
+ ar[i] = from[i];
66
+ }
67
+ }
68
+ return to.concat(ar || Array.prototype.slice.call(from));
69
+ };
70
+ Object.defineProperty(exports, "__esModule", { value: true });
71
+ exports.page = void 0;
72
+ var Yup = __importStar(require("yup"));
73
+ var typeAdding = function (objectField) {
74
+ objectField.type = "object";
75
+ objectField.fields = __spreadArray(__spreadArray(__spreadArray(__spreadArray([], objectField.simpleFields, true), objectField.dropdownFields, true), objectField.objectFields, true), objectField.arrayFields, true);
76
+ if (objectField.objectFields) {
77
+ objectField.objectFields.map(function (objectField) {
78
+ objectField = typeAdding(objectField);
79
+ return objectField;
80
+ });
81
+ }
82
+ if (objectField.arrayFields) {
83
+ objectField.arrayFields.map(function (arrayField) {
84
+ arrayField.element = typeAdding(arrayField.element);
85
+ return arrayField;
86
+ });
87
+ }
88
+ return objectField;
89
+ };
90
+ var arrayObjs = function (x) {
91
+ if (x > 0)
92
+ return [{
93
+ name: "simpleFields",
94
+ label: "Type SimpleField",
95
+ type: "array",
96
+ element: {
97
+ name: "",
98
+ label: "",
99
+ type: "object",
100
+ fields: [{
101
+ name: "name",
102
+ label: "Name",
103
+ type: "string",
104
+ validationSchema: Yup.string().required()
105
+ },
106
+ {
107
+ name: "label",
108
+ label: "Label",
109
+ type: "string",
110
+ validationSchema: Yup.string().required()
111
+ },
112
+ {
113
+ name: "type",
114
+ label: "Type",
115
+ type: "string",
116
+ validationSchema: Yup.string().required()
117
+ },
118
+ {
119
+ name: "validationSchema",
120
+ label: "Validation Schema",
121
+ type: "string",
122
+ validationSchema: Yup.string().required()
123
+ }]
124
+ }
125
+ },
126
+ {
127
+ name: "dropdownFields",
128
+ label: "Type DropdownField",
129
+ type: "array",
130
+ element: {
131
+ name: "",
132
+ label: "",
133
+ type: "object",
134
+ fields: [{
135
+ name: "name",
136
+ label: "Name",
137
+ type: "string",
138
+ validationSchema: Yup.string().required()
139
+ },
140
+ {
141
+ name: "label",
142
+ label: "Label",
143
+ type: "string",
144
+ validationSchema: Yup.string().required()
145
+ },
146
+ {
147
+ name: "options",
148
+ label: "Options",
149
+ type: "array",
150
+ element: {
151
+ name: "",
152
+ label: "",
153
+ type: "object",
154
+ fields: [{
155
+ name: "value",
156
+ label: "Value",
157
+ type: "string",
158
+ validationSchema: Yup.string().required()
159
+ },
160
+ {
161
+ name: "display",
162
+ label: "Display",
163
+ type: "string",
164
+ validationSchema: Yup.string().required()
165
+ }]
166
+ }
167
+ },
168
+ {
169
+ name: "getOptions",
170
+ label: "GetOptions Function",
171
+ type: "string",
172
+ validationSchema: Yup.string().required()
173
+ }]
174
+ }
175
+ },
176
+ {
177
+ name: "objectFields",
178
+ label: "Type ObjectField",
179
+ type: "array",
180
+ element: {
181
+ name: "",
182
+ label: "",
183
+ type: "object",
184
+ fields: __spreadArray([{
185
+ name: "name",
186
+ label: "Name",
187
+ type: "string",
188
+ validationSchema: Yup.string().required()
189
+ },
190
+ {
191
+ name: "label",
192
+ label: "Label",
193
+ type: "string",
194
+ validationSchema: Yup.string().required()
195
+ }], arrayObjs(x - 1), true)
196
+ }
197
+ },
198
+ {
199
+ name: "arrayFields",
200
+ label: "Type ArrayField",
201
+ type: "array",
202
+ element: {
203
+ name: "",
204
+ label: "",
205
+ type: "object",
206
+ fields: __spreadArray([{
207
+ name: "name",
208
+ label: "Name",
209
+ type: "string",
210
+ validationSchema: Yup.string().required()
211
+ },
212
+ {
213
+ name: "label",
214
+ label: "Label",
215
+ type: "string",
216
+ validationSchema: Yup.string().required()
217
+ }], arrayObjs(x - 1), true)
218
+ }
219
+ }];
220
+ else
221
+ return [];
222
+ };
223
+ exports.page = {
224
+ name: "Pages",
225
+ getRequest: function () { return __awaiter(void 0, void 0, void 0, function () { return __generator(this, function (_a) {
226
+ return [2 /*return*/, []];
227
+ }); }); },
228
+ tableFields: [],
229
+ actions: [{
230
+ name: "Create New Page",
231
+ fields: [{
232
+ name: "name",
233
+ label: "Page Name",
234
+ type: "string",
235
+ validationSchema: Yup.string().required()
236
+ },
237
+ {
238
+ name: "getRequest",
239
+ label: "GetRequest",
240
+ type: "string",
241
+ validationSchema: Yup.string().required()
242
+ },
243
+ {
244
+ name: "tableFields",
245
+ label: "TableFields",
246
+ type: "array",
247
+ element: {
248
+ name: "",
249
+ label: "",
250
+ type: "object",
251
+ fields: [{
252
+ name: "name",
253
+ label: "TableField Name",
254
+ type: "string",
255
+ validationSchema: Yup.string().required()
256
+ },
257
+ {
258
+ name: "access",
259
+ label: "TableField Access Function",
260
+ type: "string",
261
+ validationSchema: Yup.string().required()
262
+ }]
263
+ }
264
+ },
265
+ {
266
+ name: "actions",
267
+ label: "Actions",
268
+ type: "array",
269
+ element: {
270
+ name: "",
271
+ label: "",
272
+ type: "object",
273
+ fields: __spreadArray(__spreadArray([{
274
+ name: "name",
275
+ label: "Action Name",
276
+ type: "string",
277
+ validationSchema: Yup.string().required()
278
+ }], arrayObjs(4), true), [{
279
+ name: "onSubmit",
280
+ label: "Action OnSubmit Function",
281
+ type: "string",
282
+ validationSchema: Yup.string().required()
283
+ }], false)
284
+ }
285
+ },
286
+ {
287
+ name: "rowActions",
288
+ label: "Row Actions",
289
+ type: "array",
290
+ element: {
291
+ name: "",
292
+ label: "",
293
+ type: "object",
294
+ fields: __spreadArray(__spreadArray([{
295
+ name: "name",
296
+ label: "Row Action Name",
297
+ type: "string",
298
+ validationSchema: Yup.string().required()
299
+ }], arrayObjs(4), true), [{
300
+ name: "initialise",
301
+ label: "Row Action Initialise Function",
302
+ type: "string",
303
+ validationSchema: ""
304
+ },
305
+ {
306
+ name: "onSubmit",
307
+ label: "Row Action OnSubmit Function",
308
+ type: "string",
309
+ validationSchema: Yup.string().required()
310
+ }], false)
311
+ }
312
+ }],
313
+ onSubmit: function (formValues) { return __awaiter(void 0, void 0, void 0, function () {
314
+ return __generator(this, function (_a) {
315
+ if (Array.isArray(formValues.actions))
316
+ formValues.actions.map(function (action) {
317
+ var _a, _b, _c;
318
+ (_a = action.dropdownFields) === null || _a === void 0 ? void 0 : _a.map(function (actionField) { return actionField.type = "dropdown"; });
319
+ (_b = action.objectFields) === null || _b === void 0 ? void 0 : _b.map(function (actionField) { return actionField = typeAdding(actionField); });
320
+ (_c = action.arrayFields) === null || _c === void 0 ? void 0 : _c.map(function (actionField) {
321
+ actionField.type = "array";
322
+ actionField.element = typeAdding(actionField.element);
323
+ return actionField;
324
+ });
325
+ action.fields = __spreadArray(__spreadArray(__spreadArray(__spreadArray([], action.simpleFields, true), action.dropdownFields, true), action.objectFields, true), action.arrayFields, true);
326
+ return action;
327
+ });
328
+ if (Array.isArray(formValues.rowActions))
329
+ formValues.actions.map(function (rowAction) {
330
+ var _a, _b, _c;
331
+ (_a = rowAction.dropdownFields) === null || _a === void 0 ? void 0 : _a.map(function (rowActionField) { return rowActionField.type = "dropdown"; });
332
+ (_b = rowAction.objectFields) === null || _b === void 0 ? void 0 : _b.map(function (rowActionField) { return rowActionField = typeAdding(rowActionField); });
333
+ (_c = rowAction.arrayFields) === null || _c === void 0 ? void 0 : _c.map(function (rowActionField) {
334
+ rowActionField.type = "array";
335
+ rowActionField.element = typeAdding(rowActionField.element);
336
+ return rowActionField;
337
+ });
338
+ rowAction.fields = __spreadArray(__spreadArray(__spreadArray(__spreadArray([], rowAction.simpleFields, true), rowAction.dropdownFields, true), rowAction.objectFields, true), rowAction.arrayFields, true);
339
+ return rowAction;
340
+ });
341
+ console.log(formValues);
342
+ return [2 /*return*/, []];
343
+ });
344
+ }); }
345
+ }],
346
+ rowActions: [],
347
+ };
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
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);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ var reportWebVitals = function (onPerfEntry) {
27
+ if (onPerfEntry && onPerfEntry instanceof Function) {
28
+ Promise.resolve().then(function () { return __importStar(require("web-vitals")); }).then(function (_a) {
29
+ var getCLS = _a.getCLS, getFID = _a.getFID, getFCP = _a.getFCP, getLCP = _a.getLCP, getTTFB = _a.getTTFB;
30
+ getCLS(onPerfEntry);
31
+ getFID(onPerfEntry);
32
+ getFCP(onPerfEntry);
33
+ getLCP(onPerfEntry);
34
+ getTTFB(onPerfEntry);
35
+ });
36
+ }
37
+ };
38
+ exports.default = reportWebVitals;
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.pages = void 0;
4
+ var event_1 = require("../pages/event");
5
+ var page_1 = require("../pages/page");
6
+ exports.pages = [
7
+ event_1.event, // example schema
8
+ page_1.page,
9
+ ];
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.pageToUrl = void 0;
4
+ function pageToUrl(page) {
5
+ return "/".concat(page.name.toLowerCase().replace(" ", "_"));
6
+ }
7
+ exports.pageToUrl = pageToUrl;
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ // jest-dom adds custom jest matchers for asserting on DOM nodes.
4
+ // allows you to do things like:
5
+ // expect(element).toHaveTextContent(/react/i)
6
+ // learn more: https://github.com/testing-library/jest-dom
7
+ require("@testing-library/jest-dom");
@@ -12,11 +12,7 @@ var __assign = (this && this.__assign) || function () {
12
12
  };
13
13
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
14
14
  if (k2 === undefined) k2 = k;
15
- var desc = Object.getOwnPropertyDescriptor(m, k);
16
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
17
- desc = { enumerable: true, get: function() { return m[k]; } };
18
- }
19
- Object.defineProperty(o, k2, desc);
15
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
20
16
  }) : (function(o, m, k, k2) {
21
17
  if (k2 === undefined) k2 = k;
22
18
  o[k2] = m[k];
@@ -48,7 +44,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
48
44
  function verb(n) { return function (v) { return step([n, v]); }; }
49
45
  function step(op) {
50
46
  if (f) throw new TypeError("Generator is already executing.");
51
- while (g && (g = 0, op[0] && (_ = 0)), _) try {
47
+ while (_) try {
52
48
  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;
53
49
  if (y = 0, t) op = [op[0] & 2, t.value];
54
50
  switch (op[0]) {
@@ -111,15 +107,15 @@ function parseValidation(fields) {
111
107
  }, {});
112
108
  }
113
109
  function generateSingleField(formfield, fieldName, key) {
114
- return ((0, jsx_runtime_1.jsx)(formik_1.Field, { name: fieldName, children: function (_a) {
110
+ return ((0, jsx_runtime_1.jsx)(formik_1.Field, __assign({ name: fieldName }, { children: function (_a) {
115
111
  var _b;
116
112
  var field = _a.field, form = _a.form;
117
- return ((0, jsx_runtime_1.jsxs)(react_1.FormControl, { isInvalid: (0, formik_1.getIn)(form.touched, fieldName) && (0, formik_1.getIn)(form.errors, fieldName), children: [(0, jsx_runtime_1.jsx)(react_1.FormLabel, { marginTop: 2, children: formfield.label }), formfield.type === "string" || formfield.type === "number" ? ((0, jsx_runtime_1.jsx)(react_1.Input, __assign({}, field, { type: formfield.type === "number" ? "number" : "text", placeholder: "" }))) : formfield.type === "file" ? ((0, jsx_runtime_1.jsx)(react_1.Input, { type: "file", name: fieldName, onChange: function (event) {
113
+ return ((0, jsx_runtime_1.jsxs)(react_1.FormControl, __assign({ isInvalid: (0, formik_1.getIn)(form.touched, fieldName) && (0, formik_1.getIn)(form.errors, fieldName) }, { children: [(0, jsx_runtime_1.jsx)(react_1.FormLabel, __assign({ marginTop: 2 }, { children: formfield.label }), void 0), formfield.type === "string" || formfield.type === "number" ? ((0, jsx_runtime_1.jsx)(react_1.Input, __assign({}, field, { type: formfield.type === "number" ? "number" : "text", placeholder: "" }), void 0)) : formfield.type === "file" ? ((0, jsx_runtime_1.jsx)(react_1.Input, { type: "file", name: fieldName, onChange: function (event) {
118
114
  if (event.currentTarget.files != null) {
119
115
  form.setFieldValue(fieldName, event.currentTarget.files[0]);
120
116
  }
121
- } })) : ((0, jsx_runtime_1.jsxs)(react_1.Select, __assign({}, field, { defaultValue: "", children: [(0, jsx_runtime_1.jsx)("option", { disabled: true, value: "", children: "Select an option!" }), (_b = formfield.options) === null || _b === void 0 ? void 0 : _b.map(function (option, key) { return ((0, jsx_runtime_1.jsx)("option", { value: "".concat(option.value), children: option.display }, key)); })] }))), (0, jsx_runtime_1.jsx)(react_1.FormErrorMessage, { children: (0, formik_1.getIn)(form.errors, fieldName) })] }));
122
- } }, key));
117
+ } }, void 0)) : ((0, jsx_runtime_1.jsxs)(react_1.Select, __assign({}, field, { defaultValue: "" }, { children: [(0, jsx_runtime_1.jsx)("option", __assign({ disabled: true, value: "" }, { children: "Select an option!" }), void 0), (_b = formfield.options) === null || _b === void 0 ? void 0 : _b.map(function (option, key) { return ((0, jsx_runtime_1.jsx)("option", __assign({ value: "".concat(option.value) }, { children: option.display }), key)); })] }), void 0)), (0, jsx_runtime_1.jsx)(react_1.FormErrorMessage, { children: (0, formik_1.getIn)(form.errors, fieldName) }, void 0)] }), void 0));
118
+ } }), key));
123
119
  }
124
120
  function parseFields(fields, previous) {
125
121
  if (!fields) {
@@ -132,12 +128,12 @@ function parseFields(fields, previous) {
132
128
  return (0, jsx_runtime_1.jsx)(react_1.FormControl, { children: objectFields }, fieldName);
133
129
  }
134
130
  else if (formfield.type === "array") {
135
- return ((0, jsx_runtime_1.jsx)(formik_1.FieldArray, { name: fieldName, children: function (_a) {
131
+ return ((0, jsx_runtime_1.jsx)(formik_1.FieldArray, __assign({ name: fieldName }, { children: function (_a) {
136
132
  var remove = _a.remove, push = _a.push, form = _a.form;
137
- return ((0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsx)(react_1.FormLabel, { marginTop: 2, children: formfield.label }), (0, formik_1.getIn)(form.values, fieldName).length > 0 &&
138
- (0, formik_1.getIn)(form.values, fieldName).map(function (element, index) { return ((0, jsx_runtime_1.jsxs)(react_1.Box, { paddingLeft: 10, children: [(0, jsx_runtime_1.jsx)("h4", { children: (0, jsx_runtime_1.jsx)("b", { children: "".concat(fieldName, ".").concat(index) }) }), (0, jsx_runtime_1.jsx)(react_1.Box, { paddingLeft: 10, children: formfield.element.type === "object"
133
+ return ((0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsx)(react_1.FormLabel, __assign({ marginTop: 2 }, { children: formfield.label }), void 0), (0, formik_1.getIn)(form.values, fieldName).length > 0 &&
134
+ (0, formik_1.getIn)(form.values, fieldName).map(function (element, index) { return ((0, jsx_runtime_1.jsxs)(react_1.Box, __assign({ paddingLeft: 10 }, { children: [(0, jsx_runtime_1.jsx)("h4", { children: (0, jsx_runtime_1.jsx)("b", { children: "".concat(fieldName, ".").concat(index) }, void 0) }, void 0), (0, jsx_runtime_1.jsx)(react_1.Box, __assign({ paddingLeft: 10 }, { children: formfield.element.type === "object"
139
135
  ? parseFields(formfield.element.fields, "".concat(fieldName, ".").concat(index))
140
- : generateSingleField(formfield.element, "".concat(fieldName, ".").concat(index), key) }), (0, jsx_runtime_1.jsxs)(react_1.Button, { type: "button", colorScheme: "red", marginY: 2, onClick: function () { return remove(index); }, children: ["Remove ", "".concat(fieldName, ".").concat(index)] })] })); }), (0, jsx_runtime_1.jsxs)(react_1.Button, { type: "button", marginY: 2, colorScheme: "blue", onClick: function () {
136
+ : generateSingleField(formfield.element, "".concat(fieldName, ".").concat(index), key) }), void 0), (0, jsx_runtime_1.jsxs)(react_1.Button, __assign({ type: "button", colorScheme: "red", marginY: 2, onClick: function () { return remove(index); } }, { children: ["Remove ", "".concat(fieldName, ".").concat(index)] }), void 0)] }), void 0)); }), (0, jsx_runtime_1.jsxs)(react_1.Button, __assign({ type: "button", marginY: 2, colorScheme: "blue", onClick: function () {
141
137
  var value = undefined;
142
138
  if (formfield.element.type === "object") {
143
139
  value = getInitialValues(formfield.element.fields);
@@ -146,8 +142,8 @@ function parseFields(fields, previous) {
146
142
  value = getInitialValues([formfield.element])[0];
147
143
  }
148
144
  push(value);
149
- }, children: ["Add ", fieldName] })] }));
150
- } }));
145
+ } }, { children: ["Add ", fieldName] }), void 0)] }, void 0));
146
+ } }), void 0));
151
147
  }
152
148
  else {
153
149
  return generateSingleField(formfield, fieldName, key);
@@ -231,8 +227,8 @@ function GenericForm(_a) {
231
227
  });
232
228
  }, []);
233
229
  if (!action.fields)
234
- return (0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, {});
235
- return ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: (0, jsx_runtime_1.jsx)(formik_1.Formik, { initialValues: initialValues, validationSchema: Yup.object(validationSchema), onSubmit: function (values) { return __awaiter(_this, void 0, void 0, function () {
230
+ return (0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, {}, void 0);
231
+ return ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: (0, jsx_runtime_1.jsx)(formik_1.Formik, __assign({ initialValues: initialValues, validationSchema: Yup.object(validationSchema), onSubmit: function (values) { return __awaiter(_this, void 0, void 0, function () {
236
232
  var res, e_1, err;
237
233
  return __generator(this, function (_a) {
238
234
  switch (_a.label) {
@@ -265,9 +261,9 @@ function GenericForm(_a) {
265
261
  case 6: return [2 /*return*/];
266
262
  }
267
263
  });
268
- }); }, children: function (_a) {
264
+ }); } }, { children: function (_a) {
269
265
  var isSubmitting = _a.isSubmitting;
270
- return ((0, jsx_runtime_1.jsxs)(formik_1.Form, { children: [formFields, (0, jsx_runtime_1.jsx)(react_1.Button, { mt: 4, colorScheme: "teal", isLoading: isSubmitting, type: "submit", children: "Submit" })] }));
271
- } }) }));
266
+ return ((0, jsx_runtime_1.jsxs)(formik_1.Form, { children: [formFields, (0, jsx_runtime_1.jsx)(react_1.Button, __assign({ mt: 4, colorScheme: "teal", isLoading: isSubmitting, type: "submit" }, { children: "Submit" }), void 0)] }, void 0));
267
+ } }), void 0) }, void 0));
272
268
  }
273
269
  exports.GenericForm = GenericForm;
@@ -1,4 +1,15 @@
1
1
  "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
2
13
  var __importDefault = (this && this.__importDefault) || function (mod) {
3
14
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
15
  };
@@ -20,11 +31,11 @@ var MenuItem_1 = __importDefault(require("@mui/material/MenuItem"));
20
31
  function Header(_a) {
21
32
  var pages = _a.pages, data = _a.data;
22
33
  var nav = (0, react_router_1.useNavigate)();
23
- return ((0, jsx_runtime_1.jsx)(react_3.Box, { background: "blue.50", padding: 1, children: (0, jsx_runtime_1.jsxs)(react_3.Stack, { margin: 3, direction: "row", justifyContent: "space-between", alignItems: "center", children: [(0, jsx_runtime_1.jsx)(react_3.Stack, { margin: 4, gap: 10, direction: "row", alignItems: "center", children: pages.map(function (p) { return ((0, jsx_runtime_1.jsx)(react_3.Box, { as: "a", href: (0, schema_1.pageToUrl)(p), children: p.name })); }) }), (0, jsx_runtime_1.jsx)(react_3.Stack, { direction: "row", children: (0, jsx_runtime_1.jsx)(react_3.Button, { colorScheme: "red", onClick: function () {
34
+ return ((0, jsx_runtime_1.jsx)(react_3.Box, __assign({ background: "blue.50", padding: 1 }, { children: (0, jsx_runtime_1.jsxs)(react_3.Stack, __assign({ margin: 3, direction: "row", justifyContent: "space-between", alignItems: "center" }, { children: [(0, jsx_runtime_1.jsx)(react_3.Stack, __assign({ margin: 4, gap: 10, direction: "row", alignItems: "center" }, { children: pages.map(function (p) { return ((0, jsx_runtime_1.jsx)(react_3.Box, __assign({ as: "a", href: (0, schema_1.pageToUrl)(p) }, { children: p.name }), void 0)); }) }), void 0), (0, jsx_runtime_1.jsx)(react_3.Stack, __assign({ direction: "row" }, { children: (0, jsx_runtime_1.jsx)(react_3.Button, __assign({ colorScheme: "red", onClick: function () {
24
35
  var filename = prompt("Enter filename:");
25
36
  if (filename)
26
37
  exportToCSV(data, filename);
27
- }, children: "Export Data" }) })] }) }));
38
+ } }, { children: "Export Data" }), void 0) }), void 0)] }), void 0) }), void 0));
28
39
  }
29
40
  function exportToCSV(data, filename) {
30
41
  var formatImageData = function (obj) {
@@ -70,14 +81,14 @@ function Page(_a) {
70
81
  return selectedPage.tableFields.map(function (field) { return field.access(table_data); });
71
82
  }));
72
83
  }, [data]);
73
- return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(Header, { pages: pages, data: data }), (0, jsx_runtime_1.jsx)(react_4.ThemeProvider, { theme: (0, styles_1.createTheme)(), children: (0, jsx_runtime_1.jsx)(material_react_table_1.MaterialReactTable, { columns: selectedPage.tableFields.map(function (field, index) { return ({
84
+ return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(Header, { pages: pages, data: data }, void 0), (0, jsx_runtime_1.jsx)(react_4.ThemeProvider, __assign({ theme: (0, styles_1.createTheme)() }, { children: (0, jsx_runtime_1.jsx)(material_react_table_1.MaterialReactTable, { columns: selectedPage.tableFields.map(function (field, index) { return ({
74
85
  accessorFn: function (row) { return row[index]; },
75
86
  header: field.name,
76
- }); }), data: displayData, muiTableContainerProps: { sx: { maxHeight: "70vh" } }, enableColumnResizing: true, enableColumnPinning: true, enableGlobalFilterModes: true, enablePagination: true, paginationDisplayMode: "pages", enableRowVirtualization: true, rowVirtualizerOptions: { overscan: 20 }, renderTopToolbarCustomActions: function () { return ((0, jsx_runtime_1.jsx)(react_2.ChakraProvider, { children: (0, jsx_runtime_1.jsx)(react_3.Stack, { margin: 0, padding: 3, direction: "row", children: selectedPage.actions.map(function (action) { return ((0, jsx_runtime_1.jsx)(react_3.Button, { colorScheme: "blue", onClick: function () {
87
+ }); }), data: displayData, muiTableContainerProps: { sx: { maxHeight: "70vh" } }, enableColumnResizing: true, enableColumnPinning: true, enableGlobalFilterModes: true, enablePagination: true, paginationDisplayMode: "pages", enableRowVirtualization: true, rowVirtualizerOptions: { overscan: 20 }, renderTopToolbarCustomActions: function () { return ((0, jsx_runtime_1.jsx)(react_2.ChakraProvider, { children: (0, jsx_runtime_1.jsx)(react_3.Stack, __assign({ margin: 0, padding: 3, direction: "row" }, { children: selectedPage.actions.map(function (action) { return ((0, jsx_runtime_1.jsx)(react_3.Button, __assign({ colorScheme: "blue", onClick: function () {
77
88
  setSelectedAction(action);
78
89
  onOpen();
79
- }, children: action.name })); }) }) })); }, enableRowActions: true, renderRowActionMenuItems: function (obj) {
80
- return selectedPage.rowActions.map(function (rowAction) { return ((0, jsx_runtime_1.jsx)(MenuItem_1.default, { onClick: function () {
90
+ } }, { children: action.name }), void 0)); }) }), void 0) }, void 0)); }, enableRowActions: true, renderRowActionMenuItems: function (obj) {
91
+ return selectedPage.rowActions.map(function (rowAction) { return ((0, jsx_runtime_1.jsx)(MenuItem_1.default, __assign({ onClick: function () {
81
92
  setSelectedAction(rowAction);
82
93
  setRowId(obj.row.original[0]);
83
94
  onOpen();
@@ -85,11 +96,11 @@ function Page(_a) {
85
96
  if (rowActionsMenu) {
86
97
  rowActionsMenu.remove();
87
98
  }
88
- }, children: rowAction.name + " " + obj.row.original[0] })); });
89
- } }) }), (0, jsx_runtime_1.jsxs)(react_3.Modal, { size: "6xl", isOpen: isOpen, onClose: onClose, children: [(0, jsx_runtime_1.jsx)(react_3.ModalOverlay, {}), (0, jsx_runtime_1.jsxs)(react_3.ModalContent, { children: [(0, jsx_runtime_1.jsx)(react_3.ModalHeader, { children: selectedAction.name }), (0, jsx_runtime_1.jsx)(react_3.ModalCloseButton, {}), (0, jsx_runtime_1.jsxs)(react_3.ModalBody, { children: [selectedAction.fields && ((_b = selectedAction.fields) === null || _b === void 0 ? void 0 : _b.length) > 0 ? ((0, jsx_runtime_1.jsx)(GenericForm_1.GenericForm, { action: selectedAction, onClose: onClose, rowId: rowId })) : ((0, jsx_runtime_1.jsx)(react_3.Button, { colorScheme: "blue", mr: 3, onClick: function () {
99
+ } }, { children: rowAction.name + " " + obj.row.original[0] }), void 0)); });
100
+ } }, void 0) }), void 0), (0, jsx_runtime_1.jsxs)(react_3.Modal, __assign({ size: "6xl", isOpen: isOpen, onClose: onClose }, { children: [(0, jsx_runtime_1.jsx)(react_3.ModalOverlay, {}, void 0), (0, jsx_runtime_1.jsxs)(react_3.ModalContent, { children: [(0, jsx_runtime_1.jsx)(react_3.ModalHeader, { children: selectedAction.name }, void 0), (0, jsx_runtime_1.jsx)(react_3.ModalCloseButton, {}, void 0), (0, jsx_runtime_1.jsxs)(react_3.ModalBody, { children: [selectedAction.fields && ((_b = selectedAction.fields) === null || _b === void 0 ? void 0 : _b.length) > 0 ? ((0, jsx_runtime_1.jsx)(GenericForm_1.GenericForm, { action: selectedAction, onClose: onClose, rowId: rowId }, void 0)) : ((0, jsx_runtime_1.jsx)(react_3.Button, __assign({ colorScheme: "blue", mr: 3, onClick: function () {
90
101
  selectedAction.onSubmit(rowId);
91
102
  onClose();
92
103
  window.location.reload();
93
- }, children: "Confirm Action" })), (0, jsx_runtime_1.jsx)(react_3.Button, { colorScheme: "red", mr: 3, onClick: onClose, children: "Close" })] })] })] })] }));
104
+ } }, { children: "Confirm Action" }), void 0)), (0, jsx_runtime_1.jsx)(react_3.Button, __assign({ colorScheme: "red", mr: 3, onClick: onClose }, { children: "Close" }), void 0)] }, void 0)] }, void 0)] }), void 0)] }, void 0));
94
105
  }
95
106
  exports.Page = Page;
package/dist/esm/App.js CHANGED
@@ -1,12 +1,27 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { ChakraProvider } from "@chakra-ui/react";
3
- import { BrowserRouter, Route, Routes } from "react-router-dom";
4
- import { Page } from "./components/Page";
5
- import { pageToUrl } from "./schema/schema";
6
- function AdminPanel(_a) {
7
- var pages = _a.pages;
8
- return (_jsx(ChakraProvider, { children: _jsx(BrowserRouter, { children: _jsxs(Routes, { children: [pages.map(function (page) { return (_jsx(Route, { path: pageToUrl(page), element: _jsx(Page, { pages: pages, selectedPage: page }) })); }), pages[0] ?
9
- _jsx(Route, { path: "*", element: _jsx(Page, { pages: pages, selectedPage: pages[0] }) })
10
- : null] }) }) }));
11
- }
12
- export default AdminPanel;
1
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
2
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
3
+ if (ar || !(i in from)) {
4
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
5
+ ar[i] = from[i];
6
+ }
7
+ }
8
+ return to.concat(ar || Array.prototype.slice.call(from));
9
+ };
10
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
11
+ import { ChakraProvider } from "@chakra-ui/react";
12
+ import { Route, Routes } from "react-router-dom";
13
+ import { Page } from "./components/Page";
14
+ import { pageToUrl } from "./schema/schema";
15
+ import * as React from "react";
16
+ import { page } from "./pages/page";
17
+ function AdminPanel(_a) {
18
+ var pages = _a.pages, basePath = _a.basePath;
19
+ var _b = React.useState(pages), pagesToDisplay = _b[0], setPagesToDisplay = _b[1];
20
+ React.useEffect(function () {
21
+ setPagesToDisplay(__spreadArray(__spreadArray([], pages, true), [page], false));
22
+ }, []);
23
+ return (_jsx(ChakraProvider, { children: _jsxs(Routes, { children: [pagesToDisplay.map(function (page) { return (_jsx(Route, { path: "".concat(basePath, "/").concat(pageToUrl(page)), element: _jsx(Page, { pages: pagesToDisplay, selectedPage: page }, void 0) }, void 0)); }), pages[0] ?
24
+ _jsx(Route, { path: "".concat(basePath, "/*"), element: _jsx(Page, { pages: pagesToDisplay, selectedPage: pages[0] }, void 0) }, void 0)
25
+ : null] }, void 0) }, void 0));
26
+ }
27
+ export default AdminPanel;