react-hook-core 0.2.1 → 0.2.3
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/lib/edit.js +0 -15
- package/lib/index.js +0 -1
- package/lib/useEdit.js +440 -422
- package/package.json +1 -1
- package/src/edit.ts +1 -2
- package/src/index.ts +0 -1
- package/src/useEdit.ts +28 -14
- package/lib/components.js +0 -1199
- package/src/components.ts +0 -1275
package/package.json
CHANGED
package/src/edit.ts
CHANGED
|
@@ -116,7 +116,7 @@ export function createModel<T>(attributes?: Attributes): T {
|
|
|
116
116
|
}
|
|
117
117
|
return obj;
|
|
118
118
|
}
|
|
119
|
-
|
|
119
|
+
/*
|
|
120
120
|
export function initPropertyNullInModel<T>(obj: T, m?: Attributes): T {
|
|
121
121
|
if (!m) {
|
|
122
122
|
const x: any = {};
|
|
@@ -130,7 +130,6 @@ export function initPropertyNullInModel<T>(obj: T, m?: Attributes): T {
|
|
|
130
130
|
}
|
|
131
131
|
return obj;
|
|
132
132
|
}
|
|
133
|
-
/*
|
|
134
133
|
export function handleStatus(x: number|string, st: EditStatusConfig, gv: (k: string, p?: any) => string, se: (m: string, title?: string, detail?: string, callback?: () => void) => void): void {
|
|
135
134
|
const title = gv('error');
|
|
136
135
|
if (x === st.version_error) {
|
package/src/index.ts
CHANGED
package/src/useEdit.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {useEffect, useState} from 'react';
|
|
2
2
|
import {useNavigate, useParams} from 'react-router';
|
|
3
3
|
import {Attributes, buildId, ErrorMessage, getModelName as getModelName2, hideLoading, initForm, LoadingService, Locale, message, messageByHttpStatus, ResourceService, showLoading, UIService} from './core';
|
|
4
|
-
import {build, createModel as createModel2, EditParameter, GenericService, handleVersion
|
|
4
|
+
import {build, createModel as createModel2, EditParameter, GenericService, handleVersion} from './edit';
|
|
5
5
|
import {focusFirstError, setReadOnly} from './formutil';
|
|
6
6
|
import {DispatchWithCallback, useMergeState} from './merge';
|
|
7
7
|
import {clone, makeDiff} from './reflect';
|
|
@@ -172,12 +172,6 @@ export const useCoreEdit = <T, ID, S, P>(
|
|
|
172
172
|
} = p; */
|
|
173
173
|
const navigate = useNavigate();
|
|
174
174
|
// const addable = (p && p.patchable !== false ? true : undefined);
|
|
175
|
-
const back = (event?: React.MouseEvent<HTMLButtonElement, MouseEvent>) => {
|
|
176
|
-
if (event) {
|
|
177
|
-
event.preventDefault();
|
|
178
|
-
}
|
|
179
|
-
navigate(-1);
|
|
180
|
-
};
|
|
181
175
|
|
|
182
176
|
const [running, setRunning] = useState<boolean>();
|
|
183
177
|
|
|
@@ -233,6 +227,26 @@ export const useCoreEdit = <T, ID, S, P>(
|
|
|
233
227
|
};
|
|
234
228
|
const getModel = (p && p.getModel ? p.getModel : _getModel);
|
|
235
229
|
|
|
230
|
+
const back = (event?: React.MouseEvent<HTMLButtonElement, MouseEvent>) => {
|
|
231
|
+
if (event) {
|
|
232
|
+
event.preventDefault();
|
|
233
|
+
}
|
|
234
|
+
if (flag.newMode === true) {
|
|
235
|
+
navigate(-1);
|
|
236
|
+
} else {
|
|
237
|
+
const obj = getModel();
|
|
238
|
+
const diffObj = makeDiff(flag.originalModel, obj);
|
|
239
|
+
const objKeys = Object.keys(diffObj);
|
|
240
|
+
if (objKeys.length === 0) {
|
|
241
|
+
navigate(-1);
|
|
242
|
+
} else {
|
|
243
|
+
const msg = message(p1.resource.value, 'msg_confirm_back', 'confirm', 'yes', 'no');
|
|
244
|
+
p1.confirm(msg.message, msg.title, () => {
|
|
245
|
+
navigate(-1);
|
|
246
|
+
}, msg.no, msg.yes);
|
|
247
|
+
}
|
|
248
|
+
}
|
|
249
|
+
};
|
|
236
250
|
const _createModel = (): T => {
|
|
237
251
|
const metadata = (p && p.metadata ? p.metadata : (service.metadata ? service.metadata() : undefined));
|
|
238
252
|
if (metadata) {
|
|
@@ -287,7 +301,7 @@ export const useCoreEdit = <T, ID, S, P>(
|
|
|
287
301
|
}, msg.no, msg.yes);
|
|
288
302
|
});
|
|
289
303
|
} else {
|
|
290
|
-
const diffObj = makeDiff(
|
|
304
|
+
const diffObj = makeDiff(flag.originalModel, obj, keys, version);
|
|
291
305
|
const objKeys = Object.keys(diffObj);
|
|
292
306
|
if (objKeys.length === 0) {
|
|
293
307
|
p1.showMessage(p1.resource.value('msg_no_change'));
|
|
@@ -435,14 +449,14 @@ export const useCoreEdit = <T, ID, S, P>(
|
|
|
435
449
|
const patchable = (p ? p.patchable : true);
|
|
436
450
|
if (flag.newMode === false) {
|
|
437
451
|
if (service.patch && patchable !== false && body && Object.keys(body).length > 0) {
|
|
438
|
-
service.patch(body).then(
|
|
439
|
-
postSave(
|
|
452
|
+
service.patch(body).then((res: number|T|ErrorMessage[]) => {
|
|
453
|
+
postSave(res, obj, version, true, isBackO);
|
|
440
454
|
}).catch(handleError);
|
|
441
455
|
} else {
|
|
442
|
-
service.update(obj).then(
|
|
456
|
+
service.update(obj).then((res: number|T|ErrorMessage[]) => postSave(res, obj, version, false, isBackO)).catch(handleError);
|
|
443
457
|
}
|
|
444
458
|
} else {
|
|
445
|
-
service.insert(obj).then(
|
|
459
|
+
service.insert(obj).then((res: number|T|ErrorMessage[]) => postSave(res, obj, version, false, isBackO)).catch(handleError);
|
|
446
460
|
}
|
|
447
461
|
};
|
|
448
462
|
|
|
@@ -453,7 +467,7 @@ export const useCoreEdit = <T, ID, S, P>(
|
|
|
453
467
|
if (id != null && id !== '') {
|
|
454
468
|
setRunning(true);
|
|
455
469
|
showLoading(p1.loading);
|
|
456
|
-
service.load(id).then(obj => {
|
|
470
|
+
service.load(id).then((obj: T|null) => {
|
|
457
471
|
if (!obj) {
|
|
458
472
|
handleNotFound(refForm.current);
|
|
459
473
|
} else {
|
|
@@ -466,7 +480,7 @@ export const useCoreEdit = <T, ID, S, P>(
|
|
|
466
480
|
}
|
|
467
481
|
setRunning(false);
|
|
468
482
|
hideLoading(p1.loading);
|
|
469
|
-
}).catch(err => {
|
|
483
|
+
}).catch((err: any) => {
|
|
470
484
|
const data = (err && err.response) ? err.response : err;
|
|
471
485
|
const r = p1.resource;
|
|
472
486
|
const title = r.value('error');
|