drf-react-by-schema 0.20.10 → 0.21.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.
- package/dist/@types/index.d.ts +4 -1
- package/dist/@types/index.d.ts.map +1 -1
- package/dist/api.d.ts.map +1 -1
- package/dist/api.js +2 -9
- package/dist/components/DataGridBySchemaEditable/DataGridDesktop.d.ts.map +1 -1
- package/dist/components/DataGridBySchemaEditable/DataGridDesktop.js +27 -29
- package/dist/components/DataGridBySchemaEditable/DataGridMobile.d.ts.map +1 -1
- package/dist/components/DataGridBySchemaEditable/DataGridMobile.js +1 -3
- package/dist/components/DataGridBySchemaEditable.d.ts.map +1 -1
- package/dist/components/DataGridBySchemaEditable.js +1 -0
- package/dist/components/GenericModelList.js +7 -7
- package/dist/components/GenericRelatedModelList.d.ts.map +1 -1
- package/dist/components/GenericRelatedModelList.js +6 -15
- package/dist/components/details/DetailBySchema.d.ts.map +1 -1
- package/dist/components/details/DetailBySchema.js +2 -2
- package/dist/components/details/DetailFieldBySchema.d.ts +1 -1
- package/dist/components/details/DetailFieldBySchema.d.ts.map +1 -1
- package/dist/components/details/DetailFieldBySchema.js +5 -1
- package/dist/components/forms/DialogFormBySchema.d.ts +1 -1
- package/dist/components/forms/DialogFormBySchema.d.ts.map +1 -1
- package/dist/components/forms/DialogFormBySchema.js +1 -1
- package/dist/components/forms/FieldBySchema.d.ts.map +1 -1
- package/dist/components/forms/FieldBySchema.js +4 -2
- package/dist/components/forms/FormBySchema.d.ts.map +1 -1
- package/dist/components/forms/FormBySchema.js +3 -3
- package/dist/components/forms/inputs/AutocompleteFieldBySchema.d.ts +1 -1
- package/dist/components/forms/inputs/AutocompleteFieldBySchema.d.ts.map +1 -1
- package/dist/components/forms/inputs/AutocompleteFieldBySchema.js +10 -6
- package/dist/components/forms/inputs/BooleanFieldBySchema.d.ts +1 -1
- package/dist/components/forms/inputs/BooleanFieldBySchema.d.ts.map +1 -1
- package/dist/components/forms/inputs/BooleanFieldBySchema.js +8 -3
- package/dist/components/forms/inputs/DesktopDatePickerBySchema.d.ts +1 -1
- package/dist/components/forms/inputs/DesktopDatePickerBySchema.d.ts.map +1 -1
- package/dist/components/forms/inputs/DesktopDatePickerBySchema.js +9 -4
- package/dist/components/forms/inputs/DesktopDateTimePickerBySchema.d.ts +1 -1
- package/dist/components/forms/inputs/DesktopDateTimePickerBySchema.d.ts.map +1 -1
- package/dist/components/forms/inputs/DesktopDateTimePickerBySchema.js +8 -3
- package/dist/components/forms/inputs/EditableAutocompleteFieldBySchema.d.ts.map +1 -1
- package/dist/components/forms/inputs/EditableAutocompleteFieldBySchema.js +19 -14
- package/dist/components/forms/inputs/FileFieldBySchema.d.ts +1 -1
- package/dist/components/forms/inputs/FileFieldBySchema.d.ts.map +1 -1
- package/dist/components/forms/inputs/FileFieldBySchema.js +14 -10
- package/dist/components/forms/inputs/FloatFieldBySchema.d.ts +1 -1
- package/dist/components/forms/inputs/FloatFieldBySchema.d.ts.map +1 -1
- package/dist/components/forms/inputs/FloatFieldBySchema.js +13 -9
- package/dist/components/forms/inputs/PatternFieldBySchema.d.ts +1 -1
- package/dist/components/forms/inputs/PatternFieldBySchema.d.ts.map +1 -1
- package/dist/components/forms/inputs/PatternFieldBySchema.js +8 -4
- package/dist/components/forms/inputs/TextFieldBySchema.d.ts +1 -1
- package/dist/components/forms/inputs/TextFieldBySchema.d.ts.map +1 -1
- package/dist/components/forms/inputs/TextFieldBySchema.js +8 -4
- package/dist/context/APIWrapper.d.ts +1 -1
- package/dist/context/APIWrapper.d.ts.map +1 -1
- package/dist/context/APIWrapper.js +175 -144
- package/dist/context/APIWrapperContext.d.ts +7 -8
- package/dist/context/APIWrapperContext.d.ts.map +1 -1
- package/dist/context/APIWrapperContext.js +1 -1
- package/dist/context/DRFReactBySchemaProvider.d.ts.map +1 -1
- package/dist/context/DRFReactBySchemaProvider.js +56 -15
- package/dist/context/Overlays.d.ts.map +1 -1
- package/dist/context/Overlays.js +4 -4
- package/dist/hooks/useWhyDidYouUpdate.d.ts +4 -0
- package/dist/hooks/useWhyDidYouUpdate.d.ts.map +1 -0
- package/dist/hooks/useWhyDidYouUpdate.js +26 -0
- package/dist/utils.d.ts +5 -2
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js +64 -25
- package/package.json +1 -1
|
@@ -78,20 +78,114 @@ function APIWrapper({ handleLoading, setSnackBar, setDialog, children }) {
|
|
|
78
78
|
const [optionsAC, setOptionsAC] = (0, react_1.useReducer)((utils_1.reducer), null);
|
|
79
79
|
const [pageForm, setPageForm] = (0, react_1.useReducer)((utils_1.reducer), initialPageForm);
|
|
80
80
|
const editModel = (0, react_1.useRef)({});
|
|
81
|
-
|
|
81
|
+
// BASIC OPERATIONS DEPENDING DIRECTLY ON SERVER_ENDPOINT:
|
|
82
|
+
const localGetRawData = (0, react_1.useCallback)((route) => {
|
|
83
|
+
return (0, api_1.getRawData)({ path: route, serverEndPoint });
|
|
84
|
+
}, [serverEndPoint]);
|
|
85
|
+
const localGetAutoComplete = (0, react_1.useCallback)((model) => {
|
|
86
|
+
return (0, api_1.getAutoComplete)({ model, serverEndPoint });
|
|
87
|
+
}, [serverEndPoint]);
|
|
88
|
+
const localGetGenericModelList = (0, react_1.useCallback)((params) => {
|
|
89
|
+
return (0, api_1.getGenericModelList)(Object.assign(Object.assign({}, params), { serverEndPoint }));
|
|
90
|
+
}, [serverEndPoint]);
|
|
91
|
+
const localGetAllModels = (0, react_1.useCallback)(() => __awaiter(this, void 0, void 0, function* () {
|
|
92
|
+
const response = yield (0, api_1.getAllModels)(serverEndPoint);
|
|
93
|
+
if ('isAxiosError' in response) {
|
|
94
|
+
return [];
|
|
95
|
+
}
|
|
96
|
+
return response;
|
|
97
|
+
}), [serverEndPoint]);
|
|
98
|
+
const localLoginByPayload = (0, react_1.useCallback)((payload) => __awaiter(this, void 0, void 0, function* () {
|
|
99
|
+
const response = yield (0, api_1.loginByPayload)(payload, serverEndPoint);
|
|
100
|
+
if (typeof response !== 'boolean') {
|
|
101
|
+
console.log({
|
|
102
|
+
error: response,
|
|
103
|
+
payload,
|
|
104
|
+
});
|
|
105
|
+
return false;
|
|
106
|
+
}
|
|
107
|
+
return response;
|
|
108
|
+
}), [serverEndPoint]);
|
|
109
|
+
const localSignUp = (0, react_1.useCallback)((data) => __awaiter(this, void 0, void 0, function* () {
|
|
110
|
+
const response = yield (0, api_1.signUp)(data, serverEndPoint);
|
|
111
|
+
if ('isAxiosError' in response) {
|
|
112
|
+
return false;
|
|
113
|
+
}
|
|
114
|
+
return response;
|
|
115
|
+
}), [serverEndPoint]);
|
|
116
|
+
const localGetSignupOptions = (0, react_1.useCallback)(() => __awaiter(this, void 0, void 0, function* () {
|
|
117
|
+
const response = yield (0, api_1.getSignUpOptions)(serverEndPoint);
|
|
118
|
+
if ('isAxiosError' in response) {
|
|
119
|
+
return false;
|
|
120
|
+
}
|
|
121
|
+
return response;
|
|
122
|
+
}), [serverEndPoint]);
|
|
123
|
+
const signOut = (0, react_1.useCallback)(() => {
|
|
124
|
+
(0, api_1.clearJWT)();
|
|
82
125
|
setUsuaria(null);
|
|
83
|
-
|
|
84
|
-
|
|
126
|
+
}, []);
|
|
127
|
+
const localUpdateModel = (0, react_1.useCallback)((params) => __awaiter(this, void 0, void 0, function* () {
|
|
128
|
+
const response = yield (0, api_1.updateData)(Object.assign(Object.assign({}, params), { serverEndPoint }));
|
|
129
|
+
if ('isAxiosError' in response) {
|
|
130
|
+
return false;
|
|
131
|
+
}
|
|
132
|
+
return response;
|
|
133
|
+
}), [serverEndPoint]);
|
|
134
|
+
const postData = (0, react_1.useCallback)((params) => __awaiter(this, void 0, void 0, function* () {
|
|
135
|
+
const response = yield (0, api_1.createData)(Object.assign(Object.assign({}, params), { serverEndPoint }));
|
|
136
|
+
if ('isAxiosError' in response) {
|
|
137
|
+
return false;
|
|
138
|
+
}
|
|
139
|
+
return response;
|
|
140
|
+
}), [serverEndPoint]);
|
|
141
|
+
const updateUsuaria = (0, react_1.useCallback)(() => {
|
|
142
|
+
(0, api_1.isLoggedIn)(serverEndPoint).then((newUsuaria) => {
|
|
143
|
+
setUsuaria(newUsuaria || { erro: 'token inválido' });
|
|
85
144
|
});
|
|
86
|
-
};
|
|
87
|
-
|
|
145
|
+
}, [serverEndPoint]);
|
|
146
|
+
// END OF SERVER_ENDPOINT DEPENDENT FUNCTIONS
|
|
147
|
+
const onTriggerSnackBar = (0, react_1.useCallback)(({ msg, severity = 'info' }) => {
|
|
88
148
|
setSnackBar({
|
|
89
149
|
open: true,
|
|
90
150
|
msg,
|
|
91
151
|
severity,
|
|
92
152
|
});
|
|
93
|
-
};
|
|
94
|
-
const
|
|
153
|
+
}, [setSnackBar]);
|
|
154
|
+
const populateInitialValues = (0, react_1.useCallback)((_a) => {
|
|
155
|
+
var { id, extraValidators, fieldsLayout } = _a, object = __rest(_a, ["id", "extraValidators", "fieldsLayout"]);
|
|
156
|
+
const values = (0, utils_1.populateValues)(object);
|
|
157
|
+
const uiFields = fieldsLayout
|
|
158
|
+
? (0, utils_1.getFieldsFromFieldsLayout)(fieldsLayout)
|
|
159
|
+
: object.columns
|
|
160
|
+
? Object.keys(object.columns)
|
|
161
|
+
: undefined;
|
|
162
|
+
const yupSchema = (0, utils_1.buildGenericYupValidationSchema)(Object.assign(Object.assign({}, object), { data: values, extraValidators,
|
|
163
|
+
uiFields }));
|
|
164
|
+
setPageForm({
|
|
165
|
+
id,
|
|
166
|
+
schema: object.schema,
|
|
167
|
+
columns: object.columns,
|
|
168
|
+
initialValues: values,
|
|
169
|
+
validationSchema: yupSchema,
|
|
170
|
+
forceReload: false,
|
|
171
|
+
});
|
|
172
|
+
return values;
|
|
173
|
+
}, []);
|
|
174
|
+
const populateOptionsAC = (0, react_1.useCallback)((optionsACModels) => __awaiter(this, void 0, void 0, function* () {
|
|
175
|
+
const promises = [];
|
|
176
|
+
for (const model of optionsACModels) {
|
|
177
|
+
promises.push(localGetAutoComplete(model));
|
|
178
|
+
}
|
|
179
|
+
const results = yield Promise.all(promises);
|
|
180
|
+
const newOptionsAC = {};
|
|
181
|
+
results.map((result, index) => {
|
|
182
|
+
if (result !== false) {
|
|
183
|
+
newOptionsAC[optionsACModels[index]] = result;
|
|
184
|
+
}
|
|
185
|
+
});
|
|
186
|
+
setOptionsAC(newOptionsAC);
|
|
187
|
+
}), [localGetAutoComplete]);
|
|
188
|
+
const loadSinglePageData = (0, react_1.useCallback)((_a) => __awaiter(this, [_a], void 0, function* ({ model, objId, optionsACModels, defaults = {}, extraValidators, fieldsLayout, }) {
|
|
95
189
|
handleLoading(true);
|
|
96
190
|
if (!objId || objId === 'novo') {
|
|
97
191
|
objId = (0, utils_1.getTmpId)();
|
|
@@ -111,14 +205,15 @@ function APIWrapper({ handleLoading, setSnackBar, setDialog, children }) {
|
|
|
111
205
|
populateOptionsAC(optionsACModels);
|
|
112
206
|
}
|
|
113
207
|
for (const [field, value] of Object.entries(defaults)) {
|
|
114
|
-
if (!object.data[field]) {
|
|
208
|
+
if (!object.data[field] && typeof object.data[field] !== 'boolean') {
|
|
115
209
|
object.data[field] = value;
|
|
116
210
|
}
|
|
117
211
|
}
|
|
118
|
-
const values = populateInitialValues(Object.assign({ id: objId, extraValidators
|
|
212
|
+
const values = populateInitialValues(Object.assign({ id: objId, extraValidators,
|
|
213
|
+
fieldsLayout }, object));
|
|
119
214
|
return values;
|
|
120
|
-
});
|
|
121
|
-
const onSubmit = (model, id, data) => __awaiter(this, void 0, void 0, function* () {
|
|
215
|
+
}), [handleLoading, populateInitialValues, populateOptionsAC, serverEndPoint]);
|
|
216
|
+
const onSubmit = (0, react_1.useCallback)((model, id, data) => __awaiter(this, void 0, void 0, function* () {
|
|
122
217
|
if (!pageForm || !pageForm.schema) {
|
|
123
218
|
console.log('there must be a pageForm!');
|
|
124
219
|
return false;
|
|
@@ -151,36 +246,8 @@ function APIWrapper({ handleLoading, setSnackBar, setDialog, children }) {
|
|
|
151
246
|
msg: id ? 'Dados atualizados com sucesso!' : 'Criado com sucesso!',
|
|
152
247
|
});
|
|
153
248
|
return response.id;
|
|
154
|
-
});
|
|
155
|
-
const
|
|
156
|
-
const promises = [];
|
|
157
|
-
for (const model of optionsACModels) {
|
|
158
|
-
promises.push(localGetAutoComplete(model));
|
|
159
|
-
}
|
|
160
|
-
const results = yield Promise.all(promises);
|
|
161
|
-
const newOptionsAC = {};
|
|
162
|
-
results.map((result, index) => {
|
|
163
|
-
if (result !== false) {
|
|
164
|
-
newOptionsAC[optionsACModels[index]] = result;
|
|
165
|
-
}
|
|
166
|
-
});
|
|
167
|
-
setOptionsAC(newOptionsAC);
|
|
168
|
-
});
|
|
169
|
-
const populateInitialValues = (_a) => {
|
|
170
|
-
var { id, extraValidators } = _a, object = __rest(_a, ["id", "extraValidators"]);
|
|
171
|
-
const values = (0, utils_1.populateValues)(object);
|
|
172
|
-
const yupSchema = (0, utils_1.buildGenericYupValidationSchema)(Object.assign(Object.assign({}, object), { data: values, extraValidators }));
|
|
173
|
-
setPageForm({
|
|
174
|
-
id,
|
|
175
|
-
schema: object.schema,
|
|
176
|
-
columns: object.columns,
|
|
177
|
-
initialValues: values,
|
|
178
|
-
validationSchema: yupSchema,
|
|
179
|
-
forceReload: false,
|
|
180
|
-
});
|
|
181
|
-
return values;
|
|
182
|
-
};
|
|
183
|
-
const onEditModelSave = (data) => __awaiter(this, void 0, void 0, function* () {
|
|
249
|
+
}), [handleLoading, onTriggerSnackBar, optionsAC, pageForm, populateOptionsAC, serverEndPoint]);
|
|
250
|
+
const onEditModelSave = (0, react_1.useCallback)((data) => __awaiter(this, void 0, void 0, function* () {
|
|
184
251
|
setDialog({ open: false });
|
|
185
252
|
handleLoading(true);
|
|
186
253
|
const { fieldKey, index, model, id, setValue, getValues, schema } = editModel.current;
|
|
@@ -220,8 +287,8 @@ function APIWrapper({ handleLoading, setSnackBar, setDialog, children }) {
|
|
|
220
287
|
}
|
|
221
288
|
handleLoading(false);
|
|
222
289
|
return true;
|
|
223
|
-
});
|
|
224
|
-
const onEditModelDataGridSave = (_a) => __awaiter(this, [_a], void 0, function* ({ model, newRow, schema
|
|
290
|
+
}), [handleLoading, onTriggerSnackBar, populateOptionsAC, serverEndPoint, setDialog]);
|
|
291
|
+
const onEditModelDataGridSave = (0, react_1.useCallback)((_a) => __awaiter(this, [_a], void 0, function* ({ model, newRow, schema }) {
|
|
225
292
|
const response = yield (0, api_1.updateDataBySchema)({
|
|
226
293
|
model,
|
|
227
294
|
modelObjectId: newRow.id,
|
|
@@ -247,8 +314,8 @@ function APIWrapper({ handleLoading, setSnackBar, setDialog, children }) {
|
|
|
247
314
|
severity: 'info',
|
|
248
315
|
});
|
|
249
316
|
return response;
|
|
250
|
-
});
|
|
251
|
-
const onEditModel = ({ fieldKey, index, model, id, labelKey, setValue, getValues, fieldsLayout, initialValuesPartial, }) => {
|
|
317
|
+
}), [onTriggerSnackBar, serverEndPoint]);
|
|
318
|
+
const onEditModel = (0, react_1.useCallback)(({ fieldKey, index, model, id, labelKey, setValue, getValues, fieldsLayout, initialValuesPartial, }) => {
|
|
252
319
|
setDialog({
|
|
253
320
|
open: true,
|
|
254
321
|
loading: true,
|
|
@@ -264,9 +331,15 @@ function APIWrapper({ handleLoading, setSnackBar, setDialog, children }) {
|
|
|
264
331
|
return false;
|
|
265
332
|
}
|
|
266
333
|
const populatedValues = (0, utils_1.populateValues)(result);
|
|
334
|
+
const uiFields = fieldsLayout
|
|
335
|
+
? (0, utils_1.getFieldsFromFieldsLayout)(fieldsLayout)
|
|
336
|
+
: result.columns
|
|
337
|
+
? result.columns.map(({ field }) => field)
|
|
338
|
+
: undefined;
|
|
267
339
|
const yupSchema = (0, utils_1.buildGenericYupValidationSchema)({
|
|
268
340
|
schema: result.schema,
|
|
269
341
|
data: populatedValues,
|
|
342
|
+
uiFields,
|
|
270
343
|
});
|
|
271
344
|
const values = (0, utils_1.isTmpId)(id) && initialValuesPartial
|
|
272
345
|
? Object.assign(Object.assign({}, populatedValues), initialValuesPartial) : Object.assign({}, populatedValues);
|
|
@@ -289,19 +362,8 @@ function APIWrapper({ handleLoading, setSnackBar, setDialog, children }) {
|
|
|
289
362
|
schema: result.schema,
|
|
290
363
|
};
|
|
291
364
|
});
|
|
292
|
-
};
|
|
293
|
-
const
|
|
294
|
-
setDialog({
|
|
295
|
-
open: true,
|
|
296
|
-
loading: false,
|
|
297
|
-
title: 'Apagar',
|
|
298
|
-
Body: 'Tem certeza de que deseja apagar este item?',
|
|
299
|
-
Actions: (react_1.default.createElement(DialogActions_1.default, { setDialog: setDialog, handleSave: (event) => {
|
|
300
|
-
return onDeleteModelSave(model, id, onSuccess, event);
|
|
301
|
-
}, btnConfirm: "Sim, apagar" })),
|
|
302
|
-
});
|
|
303
|
-
};
|
|
304
|
-
const onDeleteModelSave = (model, id, onSuccess, event) => __awaiter(this, void 0, void 0, function* () {
|
|
365
|
+
}, [localGetAutoComplete, onEditModelSave, optionsAC, serverEndPoint, setDialog]);
|
|
366
|
+
const onDeleteModelSave = (0, react_1.useCallback)((model, id, onSuccess, event) => __awaiter(this, void 0, void 0, function* () {
|
|
305
367
|
setDialog({ open: false });
|
|
306
368
|
handleLoading(true);
|
|
307
369
|
const ret = yield (0, api_1.deleteData)(model, serverEndPoint, id);
|
|
@@ -321,8 +383,19 @@ function APIWrapper({ handleLoading, setSnackBar, setDialog, children }) {
|
|
|
321
383
|
severity: 'error',
|
|
322
384
|
});
|
|
323
385
|
return false;
|
|
324
|
-
});
|
|
325
|
-
const
|
|
386
|
+
}), [handleLoading, onTriggerSnackBar, serverEndPoint, setDialog]);
|
|
387
|
+
const onDeleteModel = (0, react_1.useCallback)((model, id, onSuccess) => {
|
|
388
|
+
setDialog({
|
|
389
|
+
open: true,
|
|
390
|
+
loading: false,
|
|
391
|
+
title: 'Apagar',
|
|
392
|
+
Body: 'Tem certeza de que deseja apagar este item?',
|
|
393
|
+
Actions: (react_1.default.createElement(DialogActions_1.default, { setDialog: setDialog, handleSave: (event) => {
|
|
394
|
+
return onDeleteModelSave(model, id, onSuccess, event);
|
|
395
|
+
}, btnConfirm: "Sim, apagar" })),
|
|
396
|
+
});
|
|
397
|
+
}, [onDeleteModelSave, setDialog]);
|
|
398
|
+
const onEditRelatedModelSave = (0, react_1.useCallback)((_a) => __awaiter(this, [_a], void 0, function* ({ model, id, relatedModel, newRow, schema, onlyAddExisting, }) {
|
|
326
399
|
const updateUrl = `${model}/${id}/${relatedModel}`;
|
|
327
400
|
if (onlyAddExisting) {
|
|
328
401
|
const response = yield (0, api_1.addExistingRelatedModel)({
|
|
@@ -385,8 +458,8 @@ function APIWrapper({ handleLoading, setSnackBar, setDialog, children }) {
|
|
|
385
458
|
severity: 'info',
|
|
386
459
|
});
|
|
387
460
|
return response;
|
|
388
|
-
});
|
|
389
|
-
const onDeleteRelatedModel = (_a) => __awaiter(this, [_a], void 0, function* ({ model, id, relatedModel, relatedModelId
|
|
461
|
+
}), [onTriggerSnackBar, serverEndPoint]);
|
|
462
|
+
const onDeleteRelatedModel = (0, react_1.useCallback)((_a) => __awaiter(this, [_a], void 0, function* ({ model, id, relatedModel, relatedModelId }) {
|
|
390
463
|
const deleteUrl = `${model}/${id}/${relatedModel}`;
|
|
391
464
|
const response = yield (0, api_1.deleteData)(deleteUrl, serverEndPoint, relatedModelId);
|
|
392
465
|
if (response !== true) {
|
|
@@ -405,90 +478,14 @@ function APIWrapper({ handleLoading, setSnackBar, setDialog, children }) {
|
|
|
405
478
|
severity: 'info',
|
|
406
479
|
});
|
|
407
480
|
return response;
|
|
408
|
-
});
|
|
481
|
+
}), [onTriggerSnackBar, serverEndPoint]);
|
|
409
482
|
(0, react_1.useEffect)(() => {
|
|
410
483
|
updateUsuaria();
|
|
411
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
412
|
-
}, []);
|
|
413
|
-
(0, react_1.useEffect)(() => {
|
|
414
484
|
setPageForm(initialPageForm);
|
|
485
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
415
486
|
}, []);
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
return react_1.default.createElement(react_1.default.Fragment, null, children);
|
|
419
|
-
}
|
|
420
|
-
function localGetRawData(route) {
|
|
421
|
-
return (0, api_1.getRawData)({ path: route, serverEndPoint });
|
|
422
|
-
}
|
|
423
|
-
function localGetAutoComplete(model) {
|
|
424
|
-
return (0, api_1.getAutoComplete)({ model, serverEndPoint });
|
|
425
|
-
}
|
|
426
|
-
function localGetGenericModelList(params) {
|
|
427
|
-
return (0, api_1.getGenericModelList)(Object.assign(Object.assign({}, params), { serverEndPoint }));
|
|
428
|
-
}
|
|
429
|
-
function localGetAllModels() {
|
|
430
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
431
|
-
const response = yield (0, api_1.getAllModels)(serverEndPoint);
|
|
432
|
-
if ('isAxiosError' in response) {
|
|
433
|
-
return [];
|
|
434
|
-
}
|
|
435
|
-
return response;
|
|
436
|
-
});
|
|
437
|
-
}
|
|
438
|
-
function localLoginByPayload(payload) {
|
|
439
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
440
|
-
const response = yield (0, api_1.loginByPayload)(payload, serverEndPoint);
|
|
441
|
-
if (typeof response !== 'boolean') {
|
|
442
|
-
console.log({
|
|
443
|
-
error: response,
|
|
444
|
-
payload,
|
|
445
|
-
});
|
|
446
|
-
return false;
|
|
447
|
-
}
|
|
448
|
-
return response;
|
|
449
|
-
});
|
|
450
|
-
}
|
|
451
|
-
function localSignUp(data) {
|
|
452
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
453
|
-
const response = yield (0, api_1.signUp)(data, serverEndPoint);
|
|
454
|
-
if ('isAxiosError' in response) {
|
|
455
|
-
return false;
|
|
456
|
-
}
|
|
457
|
-
return response;
|
|
458
|
-
});
|
|
459
|
-
}
|
|
460
|
-
function localGetSignupOptions() {
|
|
461
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
462
|
-
const response = yield (0, api_1.getSignUpOptions)(serverEndPoint);
|
|
463
|
-
if ('isAxiosError' in response) {
|
|
464
|
-
return false;
|
|
465
|
-
}
|
|
466
|
-
return response;
|
|
467
|
-
});
|
|
468
|
-
}
|
|
469
|
-
function signOut() {
|
|
470
|
-
(0, api_1.clearJWT)();
|
|
471
|
-
setUsuaria(null);
|
|
472
|
-
}
|
|
473
|
-
function localUpdateModel(params) {
|
|
474
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
475
|
-
const response = yield (0, api_1.updateData)(Object.assign(Object.assign({}, params), { serverEndPoint }));
|
|
476
|
-
if ('isAxiosError' in response) {
|
|
477
|
-
return false;
|
|
478
|
-
}
|
|
479
|
-
return response;
|
|
480
|
-
});
|
|
481
|
-
}
|
|
482
|
-
function postData(params) {
|
|
483
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
484
|
-
const response = yield (0, api_1.createData)(Object.assign(Object.assign({}, params), { serverEndPoint }));
|
|
485
|
-
if ('isAxiosError' in response) {
|
|
486
|
-
return false;
|
|
487
|
-
}
|
|
488
|
-
return response;
|
|
489
|
-
});
|
|
490
|
-
}
|
|
491
|
-
return (react_1.default.createElement(APIWrapperContext_1.APIWrapperContext.Provider, { value: {
|
|
487
|
+
const contextValue = (0, react_1.useMemo)(() => {
|
|
488
|
+
return {
|
|
492
489
|
usuaria,
|
|
493
490
|
updateUsuaria,
|
|
494
491
|
onSubmit,
|
|
@@ -519,11 +516,45 @@ function APIWrapper({ handleLoading, setSnackBar, setDialog, children }) {
|
|
|
519
516
|
signOut,
|
|
520
517
|
postData: postData,
|
|
521
518
|
// Remove after integrating new "onEditModel" to package:
|
|
522
|
-
serverEndPoint,
|
|
519
|
+
// serverEndPoint,
|
|
523
520
|
editModel,
|
|
524
521
|
updateModel: localUpdateModel,
|
|
525
522
|
populateOptionsAC,
|
|
526
523
|
isMobile,
|
|
527
|
-
}
|
|
524
|
+
};
|
|
525
|
+
}, [
|
|
526
|
+
handleLoading,
|
|
527
|
+
isMobile,
|
|
528
|
+
loadSinglePageData,
|
|
529
|
+
localGetAllModels,
|
|
530
|
+
localGetAutoComplete,
|
|
531
|
+
localGetGenericModelList,
|
|
532
|
+
localGetRawData,
|
|
533
|
+
localGetSignupOptions,
|
|
534
|
+
localLoginByPayload,
|
|
535
|
+
localSignUp,
|
|
536
|
+
localUpdateModel,
|
|
537
|
+
onDeleteModel,
|
|
538
|
+
onDeleteRelatedModel,
|
|
539
|
+
onEditModel,
|
|
540
|
+
onEditModelDataGridSave,
|
|
541
|
+
onEditModelSave,
|
|
542
|
+
onEditRelatedModelSave,
|
|
543
|
+
onSubmit,
|
|
544
|
+
onTriggerSnackBar,
|
|
545
|
+
optionsAC,
|
|
546
|
+
pageForm,
|
|
547
|
+
populateOptionsAC,
|
|
548
|
+
postData,
|
|
549
|
+
setDialog,
|
|
550
|
+
signOut,
|
|
551
|
+
updateUsuaria,
|
|
552
|
+
usuaria,
|
|
553
|
+
]);
|
|
554
|
+
if (!serverEndPoint) {
|
|
555
|
+
console.error('There must be a serverEndPoint properly configured for apiWrapper to work!');
|
|
556
|
+
return react_1.default.createElement(react_1.default.Fragment, null, children);
|
|
557
|
+
}
|
|
558
|
+
return react_1.default.createElement(APIWrapperContext_1.APIWrapperContext.Provider, { value: contextValue }, children);
|
|
528
559
|
}
|
|
529
560
|
exports.default = react_1.default.memo(APIWrapper);
|
|
@@ -1,19 +1,19 @@
|
|
|
1
|
-
import React from 'react';
|
|
1
|
+
import React, { ActionDispatch } from 'react';
|
|
2
2
|
import { FieldValues, SubmitHandler, UseFormGetValues, UseFormSetValue } from 'react-hook-form';
|
|
3
3
|
import { AlertColor, AlertPropsColorOverrides } from '@mui/material/Alert';
|
|
4
4
|
import { OverridableStringUnion } from '@mui/types';
|
|
5
5
|
import { ObjectSchema } from 'yup';
|
|
6
6
|
import { ItemSchemaColumnsType, Id, Item, SchemaType, DataSchemaColumnsType, OnSuccessEvent, OptionsAC, GenericValue, FormFieldLayout, TargetApiParamsLocal, TargetApiPostParamsLocal, GetGenericModelListPropsLocal, GridEnrichedBySchemaColDef, ExtraValidators } from '../@types';
|
|
7
|
-
import { ServerEndPoint } from './DRFReactBySchemaContext';
|
|
8
7
|
export interface LoadSinglePageDataProps {
|
|
9
8
|
model: string;
|
|
10
9
|
objId?: Id;
|
|
11
10
|
objTitleField?: string;
|
|
12
|
-
optionsACModels
|
|
11
|
+
optionsACModels?: string[];
|
|
13
12
|
defaults?: Item;
|
|
14
13
|
basePath?: string;
|
|
15
14
|
formPath?: string | null;
|
|
16
15
|
extraValidators?: ExtraValidators;
|
|
16
|
+
fieldsLayout?: FormFieldLayout[];
|
|
17
17
|
}
|
|
18
18
|
export interface PageFormType {
|
|
19
19
|
id: Id;
|
|
@@ -75,10 +75,10 @@ export interface APIWrapperContextType {
|
|
|
75
75
|
onSubmit: DRFReactBySchemaSubmitHandler;
|
|
76
76
|
loadSinglePageData: (p: LoadSinglePageDataProps) => Promise<false | Item>;
|
|
77
77
|
handleLoading: (p: boolean) => void;
|
|
78
|
-
optionsACState:
|
|
78
|
+
optionsACState: (OptionsAC | ActionDispatch<[newState: Partial<OptionsAC> | null]> | null)[];
|
|
79
79
|
optionsAC: OptionsAC | null;
|
|
80
80
|
setOptionsAC: (x: Partial<OptionsAC>) => void;
|
|
81
|
-
pageFormState:
|
|
81
|
+
pageFormState: (PageFormType | ActionDispatch<[newState: Partial<PageFormType> | null]> | null)[];
|
|
82
82
|
pageForm: PageFormType | null;
|
|
83
83
|
setPageForm: (x: Partial<PageFormType>) => void;
|
|
84
84
|
onEditModel: (p: OnEditModelType) => void;
|
|
@@ -88,7 +88,7 @@ export interface APIWrapperContextType {
|
|
|
88
88
|
onEditRelatedModelSave: (p: OnEditRelatedModelType) => Promise<false | Item | ItemSchemaColumnsType>;
|
|
89
89
|
onDeleteRelatedModel: (p: OnDeleteRelatedModelType) => Promise<boolean>;
|
|
90
90
|
onTriggerSnackBar: (p: SnackBarType) => void;
|
|
91
|
-
setDialog:
|
|
91
|
+
setDialog: React.ActionDispatch<[newState: Partial<DialogType> | null]>;
|
|
92
92
|
getRawData: (route: string) => Promise<GenericValue>;
|
|
93
93
|
getAutoComplete: (model: string) => Promise<false | Item[]>;
|
|
94
94
|
getGenericModelList: (x: GetGenericModelListPropsLocal) => Promise<false | DataSchemaColumnsType>;
|
|
@@ -98,8 +98,7 @@ export interface APIWrapperContextType {
|
|
|
98
98
|
signUp: (data: Item) => Promise<false | Item>;
|
|
99
99
|
signOut: () => void;
|
|
100
100
|
postData: (params: TargetApiPostParamsLocal) => Promise<false | Item>;
|
|
101
|
-
|
|
102
|
-
editModel: React.MutableRefObject<Item>;
|
|
101
|
+
editModel: React.RefObject<Item>;
|
|
103
102
|
updateModel: (p: TargetApiParamsLocal) => Promise<false | Item>;
|
|
104
103
|
populateOptionsAC: (optionsACModels: string[]) => void;
|
|
105
104
|
isMobile: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"APIWrapperContext.d.ts","sourceRoot":"","sources":["../../src/context/APIWrapperContext.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"APIWrapperContext.d.ts","sourceRoot":"","sources":["../../src/context/APIWrapperContext.tsx"],"names":[],"mappings":"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"}
|
|
@@ -45,7 +45,7 @@ exports.APIWrapperContext = react_1.default.createContext({
|
|
|
45
45
|
signOut: () => undefined,
|
|
46
46
|
postData: () => __awaiter(void 0, void 0, void 0, function* () { return false; }),
|
|
47
47
|
// Remove after integrating new "onEditModel" to package:
|
|
48
|
-
serverEndPoint: { url: '', apiTokenUrl: '' },
|
|
48
|
+
// serverEndPoint: { url: '', apiTokenUrl: '' },
|
|
49
49
|
editModel: { current: {} },
|
|
50
50
|
updateModel: () => __awaiter(void 0, void 0, void 0, function* () { return false; }),
|
|
51
51
|
populateOptionsAC: () => undefined,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DRFReactBySchemaProvider.d.ts","sourceRoot":"","sources":["../../src/context/DRFReactBySchemaProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"DRFReactBySchemaProvider.d.ts","sourceRoot":"","sources":["../../src/context/DRFReactBySchemaProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAkB,MAAM,OAAO,CAAC;AAMvC,OAAO,EACL,2BAA2B,EAG5B,MAAM,2BAA2B,CAAC;AAEnC,UAAU,6BAA8B,SAAQ,2BAA2B;IACzE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B;AAED;;;;;GAKG;AACH,QAAA,MAAM,wBAAwB,GAAI,qEAM/B,6BAA6B,sBAyD/B,CAAC;AAEF,eAAe,wBAAwB,CAAC"}
|
|
@@ -1,9 +1,42 @@
|
|
|
1
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 () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
2
35
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
36
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
37
|
};
|
|
5
38
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
const react_1 =
|
|
39
|
+
const react_1 = __importStar(require("react"));
|
|
7
40
|
const styles_1 = require("@mui/material/styles");
|
|
8
41
|
const CssBaseline_1 = __importDefault(require("@mui/material/CssBaseline"));
|
|
9
42
|
const theme_1 = __importDefault(require("../styles/theme"));
|
|
@@ -16,7 +49,11 @@ const DRFReactBySchemaContext_1 = require("./DRFReactBySchemaContext");
|
|
|
16
49
|
* @returns {*}
|
|
17
50
|
*/
|
|
18
51
|
const DRFReactBySchemaProvider = ({ serverEndPoint, theme, isInBatches, firstBatchLength, children, }) => {
|
|
19
|
-
|
|
52
|
+
const newServerEndPoint = (0, react_1.useMemo)(() => {
|
|
53
|
+
if (!serverEndPoint) {
|
|
54
|
+
return null;
|
|
55
|
+
}
|
|
56
|
+
const newServerEndPoint = Object.assign({}, serverEndPoint);
|
|
20
57
|
const defaultKeys = [
|
|
21
58
|
'autocomplete',
|
|
22
59
|
'api',
|
|
@@ -27,28 +64,32 @@ const DRFReactBySchemaProvider = ({ serverEndPoint, theme, isInBatches, firstBat
|
|
|
27
64
|
];
|
|
28
65
|
for (const key of defaultKeys) {
|
|
29
66
|
if (key === 'getToken') {
|
|
30
|
-
|
|
67
|
+
newServerEndPoint[key] = newServerEndPoint.apiTokenUrl;
|
|
31
68
|
continue;
|
|
32
69
|
}
|
|
33
70
|
const hybridKey = typeof key === 'string' ? key : key[0];
|
|
34
71
|
const hybridUrl = typeof key === 'string' ? key : key[1];
|
|
35
|
-
if (
|
|
72
|
+
if (newServerEndPoint[hybridKey]) {
|
|
36
73
|
continue;
|
|
37
74
|
}
|
|
38
|
-
|
|
39
|
-
? `${
|
|
40
|
-
: `${
|
|
75
|
+
newServerEndPoint[hybridKey] = ['refreshToken', 'verifyToken'].includes(hybridKey)
|
|
76
|
+
? `${newServerEndPoint.apiTokenUrl}${hybridUrl}/`
|
|
77
|
+
: `${newServerEndPoint.url}/${hybridUrl}`;
|
|
41
78
|
}
|
|
42
|
-
|
|
43
|
-
|
|
79
|
+
return newServerEndPoint;
|
|
80
|
+
}, [serverEndPoint]);
|
|
81
|
+
const mergedTheme = (0, react_1.useMemo)(() => {
|
|
82
|
+
return theme ? Object.assign(Object.assign({}, theme_1.default), theme) : theme_1.default;
|
|
83
|
+
}, [theme]);
|
|
84
|
+
const contextValue = (0, react_1.useMemo)(() => ({
|
|
85
|
+
serverEndPoint: newServerEndPoint,
|
|
86
|
+
theme: mergedTheme,
|
|
87
|
+
isInBatches,
|
|
88
|
+
firstBatchLength,
|
|
89
|
+
}), [firstBatchLength, isInBatches, mergedTheme, newServerEndPoint]);
|
|
44
90
|
return (react_1.default.createElement(styles_1.ThemeProvider, { theme: mergedTheme },
|
|
45
91
|
react_1.default.createElement(CssBaseline_1.default, null),
|
|
46
|
-
react_1.default.createElement(DRFReactBySchemaContext_1.DRFReactBySchemaContext.Provider, { value:
|
|
47
|
-
serverEndPoint,
|
|
48
|
-
theme: mergedTheme,
|
|
49
|
-
isInBatches,
|
|
50
|
-
firstBatchLength,
|
|
51
|
-
} },
|
|
92
|
+
react_1.default.createElement(DRFReactBySchemaContext_1.DRFReactBySchemaContext.Provider, { value: contextValue },
|
|
52
93
|
react_1.default.createElement(Overlays_1.default, null, children))));
|
|
53
94
|
};
|
|
54
95
|
exports.default = DRFReactBySchemaProvider;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Overlays.d.ts","sourceRoot":"","sources":["../../src/context/Overlays.tsx"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"Overlays.d.ts","sourceRoot":"","sources":["../../src/context/Overlays.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4C,MAAM,OAAO,CAAC;AAejE,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAC,EAAE,QAAQ,EAAE,EAAE;IAAE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAAE,qBA6E3E"}
|
package/dist/context/Overlays.js
CHANGED
|
@@ -66,7 +66,7 @@ function Overlays({ children }) {
|
|
|
66
66
|
const [dialog, setDialog] = (0, react_1.useReducer)((utils_1.reducer), initialDialog);
|
|
67
67
|
const [loading, setLoading] = (0, react_1.useState)(false);
|
|
68
68
|
// give some time to stop loading when data is retrieved and must render before loading rendering:
|
|
69
|
-
const handleLoading = (loadingState) => {
|
|
69
|
+
const handleLoading = (0, react_1.useCallback)((loadingState) => {
|
|
70
70
|
if (loadingState) {
|
|
71
71
|
setLoading(true);
|
|
72
72
|
return;
|
|
@@ -74,12 +74,12 @@ function Overlays({ children }) {
|
|
|
74
74
|
setTimeout(() => {
|
|
75
75
|
setLoading(false);
|
|
76
76
|
}, 300);
|
|
77
|
-
};
|
|
78
|
-
const handleDialogClose = () => {
|
|
77
|
+
}, []);
|
|
78
|
+
const handleDialogClose = (0, react_1.useCallback)(() => {
|
|
79
79
|
setDialog({
|
|
80
80
|
open: false,
|
|
81
81
|
});
|
|
82
|
-
};
|
|
82
|
+
}, []);
|
|
83
83
|
return (react_1.default.createElement(react_1.default.Fragment, null,
|
|
84
84
|
react_1.default.createElement(APIWrapper_1.default, { handleLoading: handleLoading, setSnackBar: setSnackBar, setDialog: setDialog }, children),
|
|
85
85
|
react_1.default.createElement(Backdrop_1.default, { invisible: false, sx: { color: '#fff', zIndex: (theme) => theme.zIndex.drawer + 1 }, open: loading },
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useWhyDidYouUpdate.d.ts","sourceRoot":"","sources":["../../src/hooks/useWhyDidYouUpdate.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAEzC,iBAAS,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,QAwB5E;AAED,eAAe,kBAAkB,CAAC"}
|